PDA

View Full Version : سوال: دیتابیسم بعد تغییرات (مثل Update و insert) بعد بسته شدن برنامه بدون تغییر میمونه!



zayens
چهارشنبه 16 تیر 1389, 12:08 عصر
وقتی برنامه را Debug میکنم در خود برنامه هر تغییری در داده ها میدم مشکلی بوجود نمیاد.
حتی وقتی برنامه را میبندم هم مشکلی نیست
اما...
وقتی برنامه VS را میبندم و دوباره اجرا میکنم همه چیز مثل قبل شده و تغییرات اعمال نشده.
2 تا نکته که باید بگم اینه که اولا خاصیت های Copy to Output را هم Copy if newer کردم
و دوم این که وقتی در برنامه ها تغییری ایجاد میکنم(مثلا insert یا Update) و برنامه را میبندم،
وقتی در vs در قسمت Server Explorer جداول را چک میکنم میبینم هیچ کدوم کوچکترین تغییری نکردن.
البته اگه برنامه را دوباره اجرا کنم با این که جداول تغییری نکردن مشکلی پیش نمیاد.
مشکل وقتیه که خود VS را ببندم و دوباره باز میکنم!
باید چی کار کنم. کجای کارم ایراد داره؟
ممنون

حجتی نیا
چهارشنبه 16 تیر 1389, 12:21 عصر
وقتی برنامه را Debug میکنم در خود برنامه هر تغییری در داده ها میدم مشکلی بوجود نمیاد.
حتی وقتی برنامه را میبندم هم مشکلی نیست
اما...
وقتی برنامه VS را میبندم و دوباره اجرا میکنم همه چیز مثل قبل شده و تغییرات اعمال نشده.
2 تا نکته که باید بگم اینه که اولا خاصیت های Copy to Output را هم Copy if newer کردم
و دوم این که وقتی در برنامه ها تغییری ایجاد میکنم(مثلا insert یا Update) و برنامه را میبندم،
وقتی در vs در قسمت Server Explorer جداول را چک میکنم میبینم هیچ کدوم کوچکترین تغییری نکردن.
البته اگه برنامه را دوباره اجرا کنم با این که جداول تغییری نکردن مشکلی پیش نمیاد.
مشکل وقتیه که خود VS را ببندم و دوباره باز میکنم!
باید چی کار کنم. کجای کارم ایراد داره؟
ممنون
مشکل در ذخیره اطلاعات نیست، مشکل در دیدن دیتابیستونه ! یعنی فایل دیتابیسی که تو server explorer میبینین در پوشه اصلی برنامتونه و اونیکه شما اطلاعات توش ذخیره میکنین در bin>debug قرار داره.. واسه حلش کافیه فایل دیتابیس داخل server explorer رو حذف و یبار دیگه از connect to database فایل دیتابیسی که تو bin>debug قرار داره رو آدرس بدین.

ozzy_mra
چهارشنبه 16 تیر 1389, 12:31 عصر
ممکنه کد ذخیره سازیتونو بزارید

zayens
چهارشنبه 16 تیر 1389, 14:22 عصر
ممکنه کد ذخیره سازیتونو بزارید
منظورتون از کد ذخیره سازی چیه؟
مگه برای ذخیره کردن دیتابیس بعد هر تغییر کد میخواد؟
این کانکشن استرینگ منه:



"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\DBRESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;"


البته bin\debug هم بعد از |DataDirectory| بود که چون در اجرا ارور میداد حذفش کردم

مشکل در ذخیره اطلاعات نیست، مشکل در دیدن دیتابیستونه ! یعنی فایل دیتابیسی که تو server explorer میبینین در پوشه اصلی برنامتونه و اونیکه شما اطلاعات توش ذخیره میکنین در bin>debug قرار داره.. واسه حلش کافیه فایل دیتابیس داخل server explorer رو حذف و یبار دیگه از connect to database فایل دیتابیسی که تو bin>debug قرار داره رو آدرس بدین.
این کار را کردم اما نشد
بعد از باز و بسته کردن VS و اجرای دوباره ی برنامه دیدم در server explorer خودبخود فایل قبلی دوباره ایجاد شده.(با پسوند جدید mdf1.)
البته فایلی که از Bin\Debug گذاشتم هم با همون پسوند قبلی mdf. هست.
میدونید مشکل اصلی من کجاست؟
بازم در کریستال ریپورت:لبخند:
وقتی گزارش میگیرم گزارشات مربوط به قبل نمایش داده میشه(تغییرات جدید دیده نمیشه)
البته
در datagrid وقتی جستجو میکنم در صورتی که VS را یه بار نبسته باشم داده ها کامل نمایش
داده میشن اما هنگام زدن دکمه ی چاپ و فرا خوانی کریستال ریپورت داده های قبلی نمایش
داده میشن. همونطور که گفتم این در حالی است که دیتاگرید درست کار میکنه و داده هاش کامل
هستن. البته با اجرای دوباره ی VS و اجرای برنامه دیتاگرید هم به حالت قبل بر میگرده

میلاد قاضی پور
چهارشنبه 16 تیر 1389, 15:44 عصر
جناب حجتی نیا توضیحات لازم رو دادند. دقیقا هم گفته ایشون اتفاق نیفتاده باشه به احتمال 90 درصد اتفاق مشابهی هست . ممکنه هنگام نوشتن اطلاعات رو در فایلی مینوسه که هنگام خوندن از یه دایرکتوری دیگه میخونه

zayens
چهارشنبه 16 تیر 1389, 17:29 عصر
جناب حجتی نیا توضیحات لازم رو دادند. دقیقا هم گفته ایشون اتفاق نیفتاده باشه به احتمال 90 درصد اتفاق مشابهی هست . ممکنه هنگام نوشتن اطلاعات رو در فایلی مینوسه که هنگام خوندن از یه دایرکتوری دیگه میخونه
خب حالا چه طور باید بفهمم از کجا داره میخونه؟
یعنی چه طور میشه همه را به یه دیتابیس وصل کرد؟آیا کانکشن استرینگی که گذاشتم مشکلی نداره؟

حجتی نیا
چهارشنبه 16 تیر 1389, 18:08 عصر
خب حالا چه طور باید بفهمم از کجا داره میخونه؟
یعنی چه طور میشه همه را به یه دیتابیس وصل کرد؟آیا کانکشن استرینگی که گذاشتم مشکلی نداره؟
اگه دیتابیس تو bin>debugهست ،کانکشن مشکلی نداره .. همون کاری روکه پیشنهاد دادم انجام بدین..