الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية ربط two ComboBox باستخدام SQL DB بلغة c#.Net

بدأه IraqiMoO في 20 سبتمبر 2013 · 2 رد · 1,088 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ... 

ارجوا المساعده واعطاء مثل تفصيلي لكيفيه ربط اكثر من combobox بلغة Cshape مع بعض قاعدة بيانات واوامر SQL حيث تعتمد نتائج الcombobox  الثانية على نتيجة اختيار الcombobox  الاولى .. 

 

مثال : مثلا عندنا اسماء دول في جدول والجدول الثاني يحتوي على اسماء محافظات لكل دوله حيث يتم يتم اختيار اسم دوله من الcombobox الاولى ويتم عملية فلتر للثانية حيث يتم ظهور المحافظات الخاصة بالدوله التي تم اختيارها ... مثلا تم اختيار مصر من اسم الدوله في الcombobox الاولى ليتم ظهور (القاهرة , الاسكندرية , الخ ) في الcombobox الثانية . ولكم جزيل الشكر .

 

ملاحظة : تم البحث من قبلي في المنتدى  ADO.NET لهذه المشكلة وتم ايجاد الحل لهذه المشكله بلغه VB.NET ولم اجدها بلغه #C.

#2

السلام عليكم ورحمة الله وبركاته،
ركز معي أخي الغالي فيما يلي وبإذن الله ستنجح في حل المسألة، أول شيء قم بتعبئة الكومبو الأول ببيانات الدول:
 

SqlDataAdapter Da=new SqlDatAdapter("Select ID, Label From TBL_Country", SqlCon);
DataTable Dt=new DataTable();
Da.Fill(Dt);
this.Combo1.DisplayMember="Label";
this.Combo1.ValueMemeber="ID";
this.Combo1.DataSource=Dt;

ثم ادخل إلى الحدث SelectedIndexChanged الخاص بهذا الكومبو، وقم بتعبئة الكومبو الثاني وفقا للقيمة المحددة، أي كما يلي:

SqlDataAdapter Da2=new SqlDataAdapter("Select StateID, StateLabel From TBL_States Where TBL_States.Country_ID='"+this.Combo1.SelectedValue+"'", SqlCon);

DataTable Dt2=new DataTable();
Da2.Fill(Dt2);
this.Combo2.DisplayMemeber="StateLabel";
this.Combo2.ValueMember="StateID";
this.Combo2.DataSource=Dt;

أتمنى أن يشتغل معك الكود لأنني كتبته يدويا بسبب غياب الفيجوال ستوديو.

تم تعديل هذه المشاركة بواسطة خالد السعداني في 21 سبتمبر 2013 في 17:19

#3

السلام عليكم ورحمة الله وبركاته

 

تحية طيبة للأخ خالد السعدنى وبارك الله فيه، حيث أنه أفاد كثيراً فى الكود المكتوب

وأحب أن أضيف إضافة صغيرة

أولاً: الكود الأول يوضع فى الحدث Form_Load

ثانياً الكود الثانى يوضع بين try - Catch لأنه سيسبب خطأ بسبب انطلاق الحدث أثناء ملء الكومبو الرئيسية لذلك نضع الكود بين Try - Catch ولا نكتب شيئاً فى Catch

 

أرجو أن يكون هذا مفيداً

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

مواضيع مشابهة