PDA

View Full Version : از بین رفتن محتویات دیتابیس



bahar009
جمعه 23 مرداد 1388, 17:47 عصر
من با استفاده از SQL خود دات نت دیتا بیس درست کردم و حالا هر بار که برنامه رو می بندم و دوباره اجرا می کنم محتویات جدول هام بر می گرده به حالتی که بار اول تو دیتابیس خودم دستی بشون اطلاعات دادم.حالا چی کار کنم؟(من از #C استفاده می کنم.)
راستی تو قسمت پراپرتی دیتابیس copy if newer هم انتخاب کردم ولی فایده نداشت:افسرده:
مثل همیشه ممنون میشم اگه کسی کمکم کنه

raha_20
جمعه 23 مرداد 1388, 17:51 عصر
خوب حتما درج اطلاعات توی دیتابیس را درست انجام نمیدی و خوب مسلما هرچی مقدار میدی تو بانکت در ج نمیشه و این مشکل واست پیش میاد

bahar009
جمعه 23 مرداد 1388, 18:09 عصر
سلام
نه دوست عزیز درج اطلاعات درسته چون تا وقتی ویژوال استودیو بازه و اجرا می کنم جواب می ده ولی به محض اینکه برنامه را می بندم و باز می کنم می بینم که اطلاعات ذخیره نشده

bahar009
جمعه 23 مرداد 1388, 18:16 عصر
اینم طریقه درج کردن من:





myDataAccess da = newmyDataAccess();
da.connect();
string s = "Insert into ManageOrder (onumber,oname)values('{0}',N'{1}')";
s = string.Format(s,txtOrderNumber.Text,txtOrderName.T ext);
da.docommand(s);
da.Disconnect();

mn_zandy63
جمعه 23 مرداد 1388, 18:52 عصر
این حالت معمولا به خاطر کپی شدن دیتابیس به جای قبلی اتفاق میفته.
یه امتحان کن٬ به جای Copy if newer مقدار ‍never رو انتخاب کن.
ببین بازم همین مشکل رو داری یا نه؟

bahar009
شنبه 24 مرداد 1388, 09:54 صبح
این حالت معمولا به خاطر کپی شدن دیتابیس به جای قبلی اتفاق میفته.
یه امتحان کن٬ به جای Copy if newer مقدار ‍never رو انتخاب کن.
ببین بازم همین مشکل رو داری یا نه؟

سلام
وقتی این کارو کردم با این error مواجه شدم:

An attempt to attach an auto-named database for file G:\Documents and Settings\Bahar\Desktop\Teram\ExportLabel\ExportLab el\bin\Debug\Teramdb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share

mn_zandy63
یک شنبه 25 مرداد 1388, 01:01 صبح
فکر میکنم قضیه اینه که دیتابیست Attach شده و توی Connection string ت داری database رو attach میکنی.
یا دیتابیست رو detach کن یا Connection string ت رو عوض کن.

bahar009
یک شنبه 25 مرداد 1388, 07:00 صبح
فکر میکنم قضیه اینه که دیتابیست Attach شده و توی Connection string ت داری database رو attach میکنی.
یا دیتابیست رو detach کن یا Connection string ت رو عوض کن.
سلام
خیلی خیلی از لطفتون ممنونم.
بله. دقیقا.این کانکشن استرینگ منه:




string cs = "Data Source=.\\SQLEXPRESS;AttachdbfileName=|DataDirecto ry|\\{0};Integrated security=true;user Instance=true";



حالا چطوری تغییرش بدم؟

mn_zandy63
پنج شنبه 29 مرداد 1388, 19:24 عصر
اسم دیتابیست Teramdb هست؟
از SQL server Express استفاده میکنی؟
SQL Management Studio داری یا نه؟

bahar009
جمعه 30 مرداد 1388, 00:22 صبح
اسم دیتابیست Teramdb هست؟
از SQL server Express استفاده میکنی؟
SQL Management Studio داری یا نه؟
سلام
بله اسم دیتابیسم Teramdb هست.
بله از SQL server Exoress استفاده می کنم
بله SQL Managment studio Express دارم

mn_zandy63
جمعه 30 مرداد 1388, 00:45 صبح
خب ببین از داخل Management Studio کافیه دیتابیست رو detach کنی.
باز برنامه ات کار میکنه.

یا اینکه Connection string ت رو به یه چیزی مثل این تغییر بده:

Data Source=.\\SQLEXPRESS;Initial Catalog=Teramdb;Integrated Security=True
البته اگه از این Connection String استفاده کنی٬ وقتی که برنامه ات رو روی یک سیستم دیگه بردی باید با استفاده از کد یا بصورت دستی٬خودت دیتابیس رو Attach کنی٬ چون فرض این Connection String اینه که دیتابیس Attach شده.
اگه فعلا داری یاد میگیری و یا پروژه دانشجویی هست٬ مهم نیست٬ بعدا وقتی رسیدی به اینجا سوال کن بهت توضیح میدم.

موفق باشی

bahar009
جمعه 30 مرداد 1388, 00:54 صبح
خب ببین از داخل Management Studio کافیه دیتابیست رو detach کنی.
باز برنامه ات کار میکنه.

یا اینکه Connection string ت رو به یه چیزی مثل این تغییر بده:

Data Source=.\\SQLEXPRESS;Initial Catalog=Teramdb;Integrated Security=True
البته اگه از این Connection String استفاده کنی٬ وقتی که برنامه ات رو روی یک سیستم دیگه بردی باید با استفاده از کد یا بصورت دستی٬خودت دیتابیس رو Attach کنی٬ چون فرض این Connection String اینه که دیتابیس Attach شده.
اگه فعلا داری یاد میگیری و یا پروژه دانشجویی هست٬ مهم نیست٬ بعدا وقتی رسیدی به اینجا سوال کن بهت توضیح میدم.

موفق باشی
سلام ممنونم از توضیحتون.
من کار با SQL manager رو بلد نیستم.
خیر متاسفانه پروژه دانشجویی نیست و اگه این بار موفق نشم بیرونم می کنن.

mn_zandy63
جمعه 30 مرداد 1388, 01:42 صبح
خب مهم نیست٬ از Connection string ی که بهت گفتم استفاده کن.
در هنگام اولین اجرای برنامه ات یه سری کد باید اضافه کنی که توی همین فروم موجود هست٬ برای Attach کردن اتوماتیک DataBase به SQL. نگران نباش.
فعلا کارت رو تموم کن تا بیرونت نکردن :چشمک:

bahar009
جمعه 30 مرداد 1388, 21:25 عصر
خب مهم نیست٬ از Connection string ی که بهت گفتم استفاده کن.
در هنگام اولین اجرای برنامه ات یه سری کد باید اضافه کنی که توی همین فروم موجود هست٬ برای Attach کردن اتوماتیک DataBase به SQL. نگران نباش.
فعلا کارت رو تموم کن تا بیرونت نکردن :چشمک:
سلام
خیلی خیلی ممنونم که جواب میدید.
من از قسمت server Explorer روی دیتابیسم راست کلیک کردم.گزینه ی Modify Connection... رو انتخاب کردم و database file name رو از پوشه دیباگ آدرس دهی کردم. به این صورت:\bin\Debug\Teramdb.mdf و ظاهرا مشکلم حل شد. حالا می خوام بدونم واقعا ایراد کار این بوده؟ یا زیادی خوش خیالم؟