ورود

نسخه کامل مشاهده نسخه کامل : از بین رفتن محتویات دیتابیس



bahar009
12-08-2009, 21:18
سلام
من با استفاده از SQL خود دات نت دیتا بیس درست کردم و حالا هر بار که برنامه رو می بندم و دوباره اجرا می کنم محتویات جدول هام بر می گرده به حالتی که بار اول تو دیتابیس خودم دستی بشون اطلاعات دادم.حالا چی کار کنم؟
راستی تو قسمت پراپرتی دیتابیس copy if newer هم انتخاب کردم ولی فایده نداشت[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مثل همیشه ممنون میشم اگه کمکم کنید

_H2_
12-08-2009, 22:22
سلام
اگر با اجرای برنامه دیتابی ریست میشود، سر همان آپشن است. و به شرط درست و صحیح بودن دستورات save تان (sql های update و insert و delete)
کلاً غیر فعالش کنید.

bahar009
13-08-2009, 09:03
یعنی در copy to output directoryگزینه Do not copy را بزنم؟

IP007
13-08-2009, 09:40
در حالت Debug این مشکلات پیش میاد شما باید در حالت Release پروژه تان را Build کنید

_H2_
13-08-2009, 11:30
سلام

یعنی در copy to output directoryگزینه Do not copy را بزنم؟بله منظورم همین بود.

bahar009
13-08-2009, 11:32
در حالت Debug این مشکلات پیش میاد شما باید در حالت Release پروژه تان را Build کنید
ممنون از اینکه جواب دادید ولی منظورتون چیه که در حالت release پروژه رو بیلد کنم؟

bahar009
13-08-2009, 11:38
در حالت Debug این مشکلات پیش میاد شما باید در حالت Release پروژه تان را Build کنید
متوجه شدم.بازم ممنون از لطفتون

bahar009
13-08-2009, 11:49
سلام

سلام
بله منظورم همین بود.
وقتی این کارو میکنم این 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.

bahar009
14-08-2009, 13:28
در حالت Debug این مشکلات پیش میاد شما باید در حالت Release پروژه تان را Build کنید
سلام.
این کارو کردم ولی بازم فایده نداشت:41:

_H2_
15-08-2009, 01:04
سلام

وقتی این کارو میکنم این error رو میده
خطایی که شما اینجا درج کردید نباید ربطی به آن تنظیم داشته باشد.
دیتابیس را attach کردید؟
connectionstring فعلیتان چیست؟
اگر از AttachDbFilename استفاده میکنید برای مسیر از DataDirectory استفاده کنید.

bahar009
15-08-2009, 09:32
سلام





خطایی که شما اینجا درج کردید نباید ربطی به آن تنظیم داشته باشد.


دیتابیس را attach کردید؟


connectionstring فعلیتان چیست؟


اگر از AttachDbFilename استفاده میکنید برای مسیر از DataDirectory استفاده کنید.










سلام.ممنون از اینکه وقت میذارید و جواب می دید


چطوری دیتابیس رو attach کنم؟


اینم conection string :




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mahdi7s
15-08-2009, 10:08
سلام

پست 6 رشته اتچ رو نشون میده

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

bahar009
15-08-2009, 10:26
سلام

پست 6 رشته اتچ رو نشون میده

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
یعنی هر بار که می خوام به دیتابیس کانکت بشم باید دیتابیس رو attach کنم؟
یعنی به صورت زیر؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mahdi7s
15-08-2009, 10:37
یعنی هر بار که می خوام به دیتابیس کانکت بشم باید دیتابیس رو attach کنم؟

عمل اتچ فقط باید یکبار انجام بشه.

در ضمن اون قسمت AttackDBFileName از رشته ی اتصالتون رو حذف کنید.

باید دیتابیس رو در پوشه ی برنامه قرار بدین.

رشته ی اتچی که نوشته شده رو تغییر ندین و در رشته ی فرمان قرارش بدین و و با کانکشن خودتون دستور فرمان رو یکبار برای همیشه انجام بدین.

bahar009
15-08-2009, 10:54
عمل اتچ فقط باید یکبار انجام بشه.

در ضمن اون قسمت AttackDBFileName از رشته ی اتصالتون رو حذف کنید.

باید دیتابیس رو در پوشه ی برنامه قرار بدین.

رشته ی اتچی که نوشته شده رو تغییر ندین و در رشته ی فرمان قرارش بدین و و با کانکشن خودتون دستور فرمان رو یکبار برای همیشه انجام بدین.
سلام
یعنی اینجوری؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[/LEFT]

mahdi7s
15-08-2009, 11:08
متد زیر فقط یکبار باید اجرا بشه و DbName رو متناسب با نام دیتابیستون تغییرش بدین


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

bahar009
17-08-2009, 12:49
سلام دوستان
من همه این کارا رو امتحان کردم وکلی ام سرچ کردم ولی مشکلم هنوز حل نشده:41:
ممنون میشم اگه کسی راهنماییم کنه :11:

bahar009
17-08-2009, 13:26
متد زیر فقط یکبار باید اجرا بشه و DbName رو متناسب با نام دیتابیستون تغییرش بدین


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سلام
با تشکر از لطف شما
وقتی از این کدها استفاده کردم جدول های دیتابیسم رو پیدا نمی کنه. فکر کنم مشکل در استفاده از

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
باشه

mahdi7s
17-08-2009, 14:07
متن خطا و قسمت کدی خطا می گیره رو بذارید...

bahar009
18-08-2009, 00:04
متن خطا و قسمت کدی خطا می گیره رو بذارید...
سلام
خیلی ممنون که جواب میدید.
اینم error:




[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

mahdi7s
18-08-2009, 12:13
من که چیزی نمی بینم؟:18:

bahar009
18-08-2009, 12:19
من که چیزی نمی بینم؟:18:
یعنی عکسی که آپلود کردمو به شما نشون نمیده؟:41:
پس چی کار کنم؟

mahdi7610
18-08-2009, 12:27
اسم جدولتون را هم اضافه کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mahdi7s
18-08-2009, 14:27
ببخشید عکس رو ندیده بود(مشکل از این مرور گر پوکیده بود)

ولی خوب چندان چیزی در این عکس معلوم نیست.متن خطلا میگه Employee اشتباهه. احتمالا بد نوشتینش و یا یه چیز دیگه هست.

رشته ی فرمانتون چیه؟

bahar009
18-08-2009, 17:47
سلام
بازم ممنون که جواب میدید.
این کلاسیه که ازش برای اتصال به دیتابیس استفاده می کنم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اسم جدولمم درست نوشتم.
اینم دستوری که استفاده کردم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mahdi7s
18-08-2009, 21:34
1 )نام دیتابیستان رو بدون پسوندش بنویسید یعنی Teramdb

2) آن کدی که من نوشتم فقط مخصوص اتچ کردن بود و نباید با کدهایی دیگر ادغام شود.
بنابراین در اینجا شما رشته ی اتصالی فقط برای اتچ کردن دارید و معلوم است که نمی توانید به دیتابیستان متصل شوید.

3)پیشنهاد می کنم

برای اتچ کردن از آن متدی که برای اتچ کردن گذاشتم استفاده کنید و کدهای اتچ را با کدهای اتصال به دیتابیس
جدا کنید .

و برای اتصال هم حدودا همین کدها می تونند جوابگو باشند ولی با کمی تغییرات مثلا در رشته ی اتصال Initial Catalog رو اضافه کنید.

bahar009
18-08-2009, 22:19
1 )نام دیتابیستان رو بدون پسوندش بنویسید یعنی Teramdb

2) آن کدی که من نوشتم فقط مخصوص اتچ کردن بود و نباید با کدهایی دیگر ادغام شود.
بنابراین در اینجا شما رشته ی اتصالی فقط برای اتچ کردن دارید و معلوم است که نمی توانید به دیتابیستان متصل شوید.

3)پیشنهاد می کنم

برای اتچ کردن از آن متدی که برای اتچ کردن گذاشتم استفاده کنید و کدهای اتچ را با کدهای اتصال به دیتابیس
جدا کنید .

و برای اتصال هم حدودا همین کدها می تونند جوابگو باشند ولی با کمی تغییرات مثلا در رشته ی اتصال Initial Catalog رو اضافه کنید.
سلام
پس کجای برنامه اتچ کردن رو انجام بدم؟

mahdi7s
19-08-2009, 09:53
پس کجای برنامه اتچ کردن رو انجام بدم؟
هنگام شروع برنامه(شاید توی FormLoad ).

bahar009
21-08-2009, 20:56
سلام به همه.
من از قسمت server Explorer روی دیتابیسم راست کلیک کردم.گزینه ی Modify Connection... رو انتخاب کردم و database file name رو از پوشه دیباگ آدرس دهی کردم. به این صورت:\bin\Debug\Teramdb.mdf و ظاهرا مشکلم حل شد. حالا می خوام بدونم واقعا ایراد کار این بوده؟ یا زیادی خوش خیالم؟