PDA

View Full Version : sql&vs



s++ 68-87
پنج شنبه 17 تیر 1389, 13:21 عصر
با سلام
من دارم باvs2005 یه برنامه می نویسم و از sql خود vs استفاده می کنم
کدای sqlدیتابیسمو updateنمی کنه
مثلا من test.mdfرو درست کردم ولی کد insertرو این دیتابیس کار نمی کنه
باید یه دیتابیس دیگه داخل پوشه binپروژم، که به نام test.mdf1اد می شه، رو کانکت کنم و کارایی که انجام می دمو داخل اون ببینم.
می خوام کدام رو دیتابیس اصلیم اثر کنه.
چی کار باید بکنم؟
مرسی....

nasim bahari
پنج شنبه 17 تیر 1389, 13:29 عصر
سلام گلم...................

ببین فایل بانک توی ریشه solution هست یا نه ؟
اگه نیست اونو توی ریشه cut/paste کن...................

ACorvinus
پنج شنبه 17 تیر 1389, 13:44 عصر
سلام.پ

احتمالا دستوراتتون رو درست و بجا استفاده نمی کنین. معنی نداره دستورات SQL اون کاری رو که شما میخواین رو انجام ندن.

s++ 68-87
پنج شنبه 17 تیر 1389, 13:54 عصر
دیتا بیس اصلیم تو فولدر اصلیه ولی دیتابیسی که تغییرات روش اعمال می شه

داخل همون پوشه بعد پوشه bin و بعد debug هستش

دستورام فکر نکنم مشکلی داشته باشن گفتم که وقتی دیتابیس داخل debugرو اد میکنم، همه دستورات اونجا اثر داده می شن
ولی وقتی یه بار ویژوال رو می بندم و باز می کنم تغییرات دیتابیس داخل debug هم می پره!!!

Mani_rf
پنج شنبه 17 تیر 1389, 16:07 عصر
احتمالا ، مشکل از Connection String تعریف شده شماست. آن را چک کنید.

s++ 68-87
پنج شنبه 17 تیر 1389, 16:21 عصر
کانکشن استرینگم اینه:
Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Bank1.mdf;Integrated Security=True;User Instance=True
مشکلی داره ایا؟

nasim bahari
پنج شنبه 17 تیر 1389, 16:50 عصر
کانکشن استرینگم اینه:
Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Bank1.mdf;Integrated Security=True;User Instance=True
مشکلی داره ایا؟

از بانک express یا sql server . آخه توی کانکشن استرینگ یه فایل با پسوند Mdf گذاشتی ؟

Mani_rf
پنج شنبه 17 تیر 1389, 16:54 عصر
این صحیح نیست؛
اگر در قسمت Server Explorer دیتابیس را اضافه کردی و به اون دسترسی داری، انتخابش کن ، بعد تو قسمت Properties گزینه Connection String هست اون را کپی کن و به برنامه انتقال بده. اگر هم به این قسمت اضافه نکردی این کار را بکن و بعد Connection String را کپی کن.
موفق باشی

s++ 68-87
پنج شنبه 17 تیر 1389, 16:56 عصر
من این connection string رو با کلیک روی دیتابیسم تو server explorer به دست اوردم
همون connectionstring ی که خودش تو قسمت properties میاره، اونو کپی کردم

باید چی می نوشتم جاش؟

s++ 68-87
پنج شنبه 17 تیر 1389, 16:58 عصر
منم که همونو گفتم...........

hero4000
پنج شنبه 17 تیر 1389, 17:32 عصر
دوست عزيز برنامت رو خط به خط اجرا کن بعد ببين جايي که دستور اس کيو ال ارسال ميشه کانکشن استرينگ دستورت چيه

s++ 68-87
پنج شنبه 17 تیر 1389, 17:41 عصر
دوست عزيز برنامت رو خط به خط اجرا کن بعد ببين جايي که دستور اس کيو ال ارسال ميشه کانکشن استرينگ دستورت چيه

نفهمیدم منظورتونو....

hero4000
پنج شنبه 17 تیر 1389, 18:11 عصر
دوست عزيز شما بجاي اينکه برنامه رو با F5 اجرا کني با F8 اجرا کن يا در جايي که دستور اس کيو الت داره فرستاده مبشه يک BreakPoint بذار بعد محتواي Command ارسالي رو نگاه کن ببين با چه کانکشني داره ارسال ميشه

s++ 68-87
پنج شنبه 17 تیر 1389, 18:26 عصر
f8 هیچ کاری نکرد!!!

یه دیتابیس دیگه درس کردم با SQL Server Management Studio
Connection string

Server=localhost;Database=Bank1.mdf;Integrated Security=true;User Instance=True

این ارور رو می ده :


SqlException was unhandled

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.


ویژوال و sql هر دو تاشون 2008 هستن

باید دیتابیسم تو SQL Server Management کانکت باشه، وقتی دارم برناممو اجرا می کنم؟

hero4000
پنج شنبه 17 تیر 1389, 18:49 عصر
باید دیتابیسم تو SQL Server Management کانکت باشه، وقتی دارم برناممو اجرا می کنم؟

بله بايد ديتابيست رو توي اس کيو ال Attach کني

s++ 68-87
پنج شنبه 17 تیر 1389, 18:53 عصر
دیتابیسم attach هست و همون ارور بالا رو می ده!!!!!!!!!:اشتباه:

hero4000
پنج شنبه 17 تیر 1389, 18:57 عصر
فکر ميکنم توي .mdf هستش اونو نبايد بنويسي

Server=localhost;Database=Bank1;Integrated Security=true;User Instance=True

nasim bahari
پنج شنبه 17 تیر 1389, 19:10 عصر
سلام .
ببین اگه با Express کار می کنی باید فایلت Sdf باشه نه mdf.................

s++ 68-87
پنج شنبه 17 تیر 1389, 19:12 عصر
بدون .mdfهم جواب نداد
همون ارور و می ده:ناراحت:

s++ 68-87
پنج شنبه 17 تیر 1389, 19:15 عصر
اخه فرمت دیتابیسم تو express هم mdf بود
باز اونم امتحان می کنم

s++ 68-87
پنج شنبه 17 تیر 1389, 19:21 عصر
sdf هم کار نکرد، خودش تو server explorer می نویسه مثلا test.mdf

voodoo01
پنج شنبه 17 تیر 1389, 19:38 عصر
با سلام دوست عزیز
برنامه شما بعد از هربار بانک اصلی را به مسیر که برنامه دیباگ می شود منتقل میکند .
اتدا میبایست مسیر Attach بانک را مستقیم مسیر دهی کنید
مثال
Sqlexpress
1-ابتذا در پنجره VS200X
وارد منوی Project شده و گزینه Properties را انتخاب کنید
وارد Tab Seting شوید.
2-Data Source=.\SQLEXPRESS22;AttachDbFilename=|DataDirect ory|\Data.mdf;Integrated Security=True;User Instance=True
Data Source=.\SQLEXPRESS22;AttachDbFilename=C:\Data\Dat a.mdf;Integrated Security=True;User Instance=True
به این ترتیب بانک شما در مسیر ی که شما انتخاب میکنید خواهد ماند و منتقل نمی شود و دادهایی که در موقع اجرا وارد می شود یا هر تغییر دیگر ذخیره می شود
موفق باشید
Voodoo

s++ 68-87
پنج شنبه 17 تیر 1389, 20:11 عصر
یه بار فرمتشو کردم sdf الان گیر داده Bank1.sdfندارم
درستش کردم ریستارتم کردم ولی فعلا گیر داده به این!!!!
ببینم اینو چیکارش می تونم بکنم:اشتباه:

منظورتون اینه که برم تو setting عوض کنم connectionstring رو
و ادرس اصلی رو بنویسم؟

voodoo01
پنج شنبه 17 تیر 1389, 20:20 عصر
بله دقیقا
وقتی برنامه شما اجرا می شود به طور مثال از مسیر
c:\data\test.mdf
در هنگام اجرا فایل test.mdf با connaction >>|DataDirectory|\test.mdf
فایل test.mdf به مسر Debug منتقل میشود
و test.mdf قبلی پاک می شود اگر شما داده ای در ٍبت کرده باشید یا تغییراتی را ثبت کنید پاک میشود

شما باید مسیر Connaction را از |DataDirectory|\test.mdf به c:\data\test.mdf تغییر دهیید


voodoo

s++ 68-87
پنج شنبه 17 تیر 1389, 20:51 عصر
من دقیقا اینو از project و tabe setting کپی کردم
Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Bank\Bank\ Bank1.mdf;Integrated Security=True;User Instance=True;
connection string همه فرمامو به این تبدیل کردم ولی نشد:ناراحت:
فقط فایل mdf که تو مسیر debug هستش تغییر میکنه
اونم تا وقتی که پروژه رو نبستمش!!!!
تغییرات رو دیتابیس اصلیم اثر نمی کنه!!!!

صباح فتحی
دوشنبه 21 تیر 1389, 18:20 عصر
منم همین مشکلو داشتم ولی حل شد؟
بگم چطوری؟
توی کانکشن استرینگ مسیر اتچ رو بانک اطلاعاتی که توی debug هست نده
applicatio.startpath+"db.mdf:
برگرد یه پوشه قبل یه بانک هم اونجا هس ...ادرسو اونو بده و کاملا اثرات باقی میمونه...
جدی میگما :d