View Full Version : مشکل ذخیره در بانک
edisoon
دوشنبه 08 مهر 1387, 00:05 صبح
نمیدونم مشکل من کجاست که دیتا درون بانک من ذخیره نمیشود. دوستان اگه لطف کنن و برنامه ای که ضمیمه کردم رو یه نگاهی بندازن و اشکال کار بنده رو بگن ممنون میشم. من به یک فرم ورود اطلاعات با قابلیت ایجاد، ویرایش، حذف و جستجو نیاز داشتم و نمیخواستم که کدنویسی کنم و خواستم که بصورت Visual این فرم را تهیه کنم ولی نمیدونم چرا دیتا در بانک من ذخیره نمیشود
ALI TT
دوشنبه 08 مهر 1387, 02:38 صبح
سلام دوست عزیز
وقتی که شما رکوردی رو اضافه می کنید ، و سپس برنامه رو Run می کنید ، بانک شما به حالت اول بر میگرده ، در اصل شما وقتی برنامه رو باز می کنید و رکوردی رو ثبت می کنید ؛ رکورد واقعا ثبت میشه . ولی وقتی برنامه رو می بندی و دوباره باز می کنی ، می بینی همه چیز شده عین اول .
کانکشن استرینگ شما در حال حاضر اینه :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Data.mdb;Persist Security Info=True
که بصورت اتوماتیک تولید شده ، شما باید آدرس بانکتون رو خودتون بش بدین . مثلا این طوری :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Data.mdb;Persist Security Info=True
BAHAL_KEYHAN
دوشنبه 08 مهر 1387, 09:20 صبح
منم این مشکل رو دارم.connection string من درسته ولی هنگامی که اطلاعات grid متصل به data set (که اونم متصل به بانک)رو تغییر میدم بانکم تغییر نمی کنه.
مگه دستور fill ,adapter دیتا ست رو از رو بانک پر نمی کنه.فکر نکنم وصلشون کنه,فقط یک بار پرشون می کنه,درسته؟
خیلی ممنون میشم به من هم کمک کنید:قلب:
edisoon
دوشنبه 08 مهر 1387, 19:00 عصر
متاسفانه تغییر Connection String هیچ مشکلی رو در این مورد حل نکرد و مشکل همچنان پابرجاست اساتید راهنمایی کنن اگه راه حل رفع این مشکل رو میدونن.
Morteza_s
دوشنبه 08 مهر 1387, 20:16 عصر
من یه پیشنهاد بهتون می کنم
شما تا زمانی که در حال طراحی برنامه هستید Connection String رو به صورت مستقیم تعریف کنید
یعنی وقتی شما از طریق ویزارد Data Source تعریف می کنید بعد از مشخص کردن بانک، ویژوال استودیو یک پیغام بهتون نشون میده که شما باید No رو انتخاب کنید
بعد از اینکه طراحی برنامتون تموم شد و خواستید اون رو منتشر کنید در Solution Explorer روی DataSet ای که ایجاد کردید (با پسوند xsd.) دوبار کلیک کنید
یکی از TableAdapter ها رو انتخاب کنید
از قسمت Properties خصوصیت Connection String رو به این صورت تغییر بدید:
مثلآ اگر Connection String به این صورت بود:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Program Files\Data.mdb"
به این صورت تغییر بدید:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb
اینجوری آدرس بانکتون هم داینامیک میشه و دیگه مهم نیست برنامتون تو چه مسیری نصب بشه
Morteza_s
دوشنبه 08 مهر 1387, 20:22 عصر
علت اینکه گفتم بعد از اتمام طراحی برنامه Connection String رو به اون صورت تغییر بدید به این علت هست که اگه شما این کار رو در زمان طراحی برنامه انجام بدید دیگه نمی تونید از طریق ویزارد به DataSet دسترسی داشته باشید
البته برنامه به بانک متصل میشه و مشکلی در اجرای برنامه نیست، اما دیگه نمی تونید مثلآ جدول جدیدی از بانک، به DataSet اضافه کنید
امیدوارم راهگشا بوده باشه
edisoon
دوشنبه 08 مهر 1387, 22:04 عصر
مثل اینکه مشکل رو دقیقا دوستان متوجه نشدن و یا برنامه ای که من گذاشتم رو دانلود نکردن و تست نکردن، من هیچ مشکلی در ارتباط با دیتابیس و ConnectionString ندارم و به دیتابیس به درستی متصل میشم و اطلاعات را میخونه ولی فقط تغییرات رو در دیتابیس ذخیره نمیکنه. واقعا همه توضیحاتی که دوستان دادند رو بررسی کردم ولی نتیجه ای نداره، شایدم مشکلی در سیستم من وجود داره ولی به هر حال برای پیدا کردن مشکل از دوستانی که راهنمایی میکنن خواهشمندم که برنامه ای که گذاشتم رو دانلود کنن و اجرا کنن. اگه مشکلش رو حل کردن دوباره اینجا بفرستن تا من دانلود کنم و ببینم مشکلم از کجا بوده. مرسی
ALI TT
دوشنبه 08 مهر 1387, 22:53 عصر
خوب از دستور Update برای ذخیره استفاده کن .
edisoon
سه شنبه 09 مهر 1387, 00:43 صبح
دستور Update رو هم تست کرده بودم ولی جواب نداد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.