View Full Version : روشی دیگر برای نوشتن یک پروژه پایگاه داده ای
roya2002_80
پنج شنبه 26 دی 1387, 12:01 عصر
سلام
من قبل در ا پروژه هایی که لازم بود با پایگاه داده وصل بشوند ، پایگاه داده شونو در sqlserver 2005 می کردم و به پروژم وصل می کردم ، الان من می خوام یک پروژه تعریف کنم و دیتابیس رو تو همون پروژه تعریف کنم (یعنی رو اسم پروژه راست کلیک Add New Item -> Sql DataBase ) رو انتخاب کنم و جداول مورد نیاز رو تعریف کنم ، حال سوال من اینه که من چه جوری تو پروژه داده ها رو وارد جدول این دیتا بیس کنم ؟ connectionstring چی باشه؟
ممنونم
Ali_Mor
پنج شنبه 26 دی 1387, 12:17 عصر
در پنجره Server Explorer روی آیتم مورد نظر راست کلیک کن و properties بگیر، اونجا کانکشن استرینگ رو نوشته
roya2002_80
پنج شنبه 26 دی 1387, 12:51 عصر
رشته connection string رو تو فایل app.config قرار می دهد، من چه جوری از این فایل این رشته را بخونم ؟
Mahdi.Kiani
پنج شنبه 26 دی 1387, 13:17 عصر
Properties.Settings.Default.[connection string name]
یا
ConfigurationManager.ConnectionStrings["[connectionString Name]"].ConnectionString
برای حالت دوم، System.Configuration را هم به Reference هات اضافه کن
roya2002_80
پنج شنبه 26 دی 1387, 14:23 عصر
آقای کیانی از جوابی که دادید خیلی ممنونم
من الان به دیتا بیس وصل شدم داده های رو می تونه بازیابی کنه اما مشکلی که داره اینه که اگه روی دیتا بیس کوئری درج یا آپدیت بزنم اجرا نمی شه(خطا نمی ده و لی اجرا هم نمی شه!) دلیلش چیه؟
Mahdi.Kiani
پنج شنبه 26 دی 1387, 16:56 عصر
آقای کیانی از جوابی که دادید خیلی ممنونم
من الان به دیتا بیس وصل شدم داده های رو می تونه بازیابی کنه اما مشکلی که داره اینه که اگه روی دیتا بیس کوئری درج یا آپدیت بزنم اجرا نمی شه(خطا نمی ده و لی اجرا هم نمی شه!) دلیلش چیه؟
چرا اجرا میشه و نتیجه هم تا زمانی که برنامه شما اجراست در دیتا بیس شما ذخیره میشه. اما از آنجا که خاصیت Copy to output directory مربوط به data base بر روی Copy always تنظیم شده است ( به صورت پیش فرض) هر زمانی که برنامه را Biuld یا اجرا می کنید ( F5 ) فایل های Data base شما از شاخه اصلی برنامه به شاخه bin کپی می شوند. و به همین دلیل داده های ذخیره شده در اجرای قبل از بین می روند. جنانجه نیاز دارید که داده ها در زمان Biuld کردن و اجرا از طزیق vs بمانند، مقدار این خاصیت را می توانید به یکی از دو مقدار دیگری که برای آن موجود است تنظیم نمایید.
نکته:
به دلیل زیر مقدار Copy If Newer برای این خاصیت پیشنهاد نمی شود.
The database file can change even when no changes are made to the data. Simply opening a connection (for example, expanding the Tables node in Server Explorer) on a data file can mark it as newer. Because of this unpredictable behavior, we recommended that you do not use this option.
دقت کنید که این توضیحات مربوط به زمانی است که بخواهید برنامه را از طریق خود VS اجرا کنید. اگر به شاخه bin بروید و فایل exe را اجرا نمایید. تغییرات پس از ذخیره شدن در دیتا بیس در اجرا های بعدی باقی مانده و از بین نمی روند.
توضیحات بیشتر در مورد روشی که می خواهید استفاده کنید را می توانید در لینک زیر پیگیری نمایید.
Local Data Overview (http://msdn.microsoft.com/en-us/library/ms233817(VS.80).aspx)
---------------------
موفق باشید.
roya2002_80
شنبه 28 دی 1387, 09:48 صبح
کارایی که گفتید رو انجام دادم اما مشکل من هنوز حل نشده ،
Mahdi.Kiani
شنبه 28 دی 1387, 16:01 عصر
کارایی که گفتید رو انجام دادم اما مشکل من هنوز حل نشده ،
اون لینکی که در پست قبلی دادم را مطالعه کردید؟
اگر باز هم مشکلی دارید، کدتان را ارسال کنید تا بررسی کنم.
roya2002_80
سه شنبه 01 بهمن 1387, 08:11 صبح
سلام ،آقای کیانی من کد پروژه رو اینجا می گذارم لطف کنید یه نگاهی به پروژه بندازید
ممنونم
roya2002_80
یک شنبه 06 بهمن 1387, 11:54 صبح
کسی نمی تونه جوابمو بده؟
rooshan2008
دوشنبه 07 بهمن 1387, 01:30 صبح
سلام
دوست عزیز همون طور که خودتون گفتین مشکلی در برنامه شما نیست فقط یه چیزی ..اگه توجه کرده باشین شما پایگاه داده رو در داخل جایی که برنامه ذخیره شده قرار دادین درسته؟
حالا وقتی هر بار برنامه رو اجرامیکنید از بانک اطلاعاتی یک کپی در داخل مسیری که برنامه کامپایل میشه گرفته مشه اینجا رومیگم(WindowsApplication3\bin\Debug) اگه شما به این مسیر برید مبینید که یک نسخه از بانکتون اینجاهم هست در واقع برنامه در حال اجرای شما با این بانک داره کار میکنه( توجه کنید برنامه در حال اجرا رو میگم نه پروژه در حال Design ) خوب وقتی شما از برنامه درحال اجرا خارج میشید و به حالت Design برمی گردید شما الان با بانک داخل مسیر WindowsApplication3 رو می بینید به همین خاطر اصلاً انگار اتفاقی نیفتاده
(نتیجه : این روش درسته و مشکلی هم براتون درسته نمیکنه فقط اطلاعاتی که در حالات اجرا وارد میکنید دیگه در داخل بانکی هست که در مسیر \Bin\debugدرست شده هست )
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.