ورود

View Full Version : مشکل در آپدیت شدن کمبو باکس



myleila
چهارشنبه 27 شهریور 1387, 15:15 عصر
سلام خدمت دوستان عزیز ///

من توی یکی از فرم های برنامم یه کمبو باکس دارم که به پایگاه داده متصلش کردم و اطلاعات موجود در یکی از ستون های یکی از جدول هامو نشون میده ... اما مشکل من اینه که توی یکی دیگه از فرم هام اطلاعات اون جدول و اون ستون خاص رو میشه تغییر داد و یا حذف کرد .. وقتی در فرم دوم تغییراتی در اون جدول و ستون خاص ایجاد بشه در فرم اول که شامل اون کمبو باکس هست هیچ اتفاقی نمیفته و کمبو باکس همون اطلاعات قبلی رو نشون میده و در واقع آپدیت نمیشه .. مگر اینکه کل پروژم رو ببندم و دوباره باز کنم تا آپدیت بشه .. به نظر شما مشکل از کجاست ؟؟

و مورد دوم اینکه من برای وصل کردن کمبو باکس به پایگاه داده از خود ویژوال استودیو و ابزارهای آماده استفاده میکنم اگه بخوام با کد نویسی این کار رو انجام بدم باید چه چیزی بنویسم .. لطفا راهنمایی کنید

hanieh66
چهارشنبه 27 شهریور 1387, 15:48 عصر
در مورد سوال اول:
برای اینکه تغییرات رو توی کامبوباکس ببینید باید با استفاده از دیتااداپتر جدولی که به کامبوباکس بایند شده رو فیل کنید

سوال دوم:
کامبوباکس چندتا خاصیت داره برای اینکار:
خاصیت Datasource که منبع داده یا همون جدولی که قراره اطلاعات رو ازش بگیرید بهش نسبت می دین

خاصیت Display member که فیلدی که می خواین توی کامبوباکس نشونش بدین بهش نسبت می دین

خاصیت value member که مثلا باید فیلد کلید جدولتون یا همون کلید اصلی رو بهش نسبت بدین




DataSet ds = new DataSet();
sqlDataAdapter da = new SqlDataAdapter("Select Code,Name FROM tblTest" , myConnection);

da.fill(ds);

combo1.DataSource = ds;

combo1.DisplayMember = Name;
combo1.ValueMember = Code;

myleila
چهارشنبه 27 شهریور 1387, 20:12 عصر
در مورد سوال اول:
برای اینکه تغییرات رو توی کامبوباکس ببینید باید با استفاده از دیتااداپتر جدولی که به کامبوباکس بایند شده رو فیل کنید


ممنون از راهنماییتون .. میشه یه خورده بیشتر توضیح بدین واسم .. تو لود فرم دقیقا همچین کاری داره انجام میشه یعنی جدول بوسیله دیتاآداپتر پر میشه ولی باز هم آپدیت جدول اصلی در پایگاه داده هیچ تاثیری روی کمبو باکس نداره .... هیچ راه دیگه ای نیست ؟؟ گزینه ای مثل رفرش وجود نداره که تابع رو مجبور کنه دوباره بره از جدول اصلی داده ها رو بگیره و بریزه تو کمبو باکس ؟؟

ali_kashani
پنج شنبه 28 شهریور 1387, 00:22 صبح
سلام
خوب طبيعي است چون وقتي شما فرم دوم را مي بندي بايد اگر مي خواهي Combo Box اپديت بشه بايد همانطور كه hanieh66 گفت Data Adapter را فيل كني تا دوباره به Data Base روجوع كنه و داده ها را بخونه.

myleila
پنج شنبه 28 شهریور 1387, 18:57 عصر
ممنون از راهنمایی های دوستان ... کمبو باکس رو به صورت دستی به پایگاه داده متصل کردم درست شد

alidaniyali
دوشنبه 20 آبان 1387, 18:22 عصر
من از همین روش استفاده کردن و یک botton هم برای update گذاشتم و لی با هر بار که botton رو میزم باید دوباره dataAdapter رو fill کنم تا تغییرات دیده شود . ولی مشکل اینه که هر بار که فیل میشه تغییرات به اطلاعات قبلی اضافه می شه و ایتم های قبلی آپدیت نمیشه و و آیتم اول دوباره اضافه میشه و میشه 2 تا (تکرار میشه ) و 2 تا 3 تا و .... همینطور تکرار می کنه ......

حتی قبلش هم combobox رو item clear می کنم باز هم درست نمیشه .

چی کار کنم !!؟؟