combobox يجلب بياناته من جدول فى ال sql server
واريد عندما اختار الاداره منه يملئ الكمبو بوكس الذى يليه بالاقسام
واريد عندما احفظ البيانات من comboboxes فى الجدول الخاص بجميع البيانات يحفظ كود الاداره والقسم وليس المسمى
ارجو المساعده جزاكم الله خيرا
combobox يجلب بياناته من جدول فى ال sql server
واريد عندما اختار الاداره منه يملئ الكمبو بوكس الذى يليه بالاقسام
واريد عندما احفظ البيانات من comboboxes فى الجدول الخاص بجميع البيانات يحفظ كود الاداره والقسم وليس المسمى
ارجو المساعده جزاكم الله خيرا
انا شاكر لحضرتك جدا لانى تعبت قوى ومعرفتش اوصل لحاجه
المقال بجد هو بالضبط اللى انا عايزه
void fillbycombo()
{
try
{
comboBox2.Items.Clear();
string sel = "select part_id,part from part Where room_id=@room_id";
SqlCommand cmd = new SqlCommand(sel, cn);
cn.Open();
SqlDataReader rd = cmd.ExecuteReader();
cmd.Parameters.Add("@room_id",SqlDbType.Int);
cmd.Parameters[0].Value = int.Parse(comboBox1.SelectedValue.ToString());
while (rd.Read())
{
ListItem item = new ListItem();
item.Text = rd["part_id"].ToString();
item.Value = rd["part"].ToString();
comboBox2.Items.Add(item);
}
rd.Close();
cn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}تظهر لى رساله
Must declare the variable '@room_id'.
فما المشكله
ahmed fathy كتب:انا شاكر لحضرتك جدا لانى تعبت قوى ومعرفتش اوصل لحاجه
المقال بجد هو بالضبط اللى انا عايزه
أتمنى اكون قدرت اساعد
ahmed fathy كتب:void fillbycombo() { try { comboBox2.Items.Clear(); string sel = "select part_id,part from part Where room_id=@room_id"; SqlCommand cmd = new SqlCommand(sel, cn); cn.Open(); SqlDataReader rd = cmd.ExecuteReader(); cmd.Parameters.Add("@room_id",SqlDbType.Int); cmd.Parameters[0].Value = int.Parse(comboBox1.SelectedValue.ToString()); while (rd.Read()) { ListItem item = new ListItem(); item.Text = rd["part_id"].ToString(); item.Value = rd["part"].ToString(); comboBox2.Items.Add(item); } rd.Close(); cn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }تظهر لى رساله
Must declare the variable '@room_id'.
فما المشكله
لا حضرتك هنا لم تستخدم Stored Procedure انت اضفت الأمر مباشرة في كود السي شارب , لذلك انت لست في حاجة لبرامتر @room_id فكل ما عليك هو جعل الامر كالتالي
void fillbycombo()
{
try
{
comboBox2.Items.Clear();
string sel = "select part_id,part from part Where room_id="+comboBox1.SelectedValue.ToString();
SqlCommand cmd = new SqlCommand(sel, cn);
cn.Open();
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
ListItem item = new ListItem();
item.Text = rd["part_id"].ToString();
item.Value = rd["part"].ToString();
comboBox2.Items.Add(item);
}
rd.Close();
cn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}فانت لست بحاجة لعمل بارمترز من الأساس لأن تستخدم امر نصي مباشر , فقط ضع القيمة مباشرة بجوار نص الأمر
فانت ربما بحاجة لمعرفة المزيد عن ال Stored Procedure , بمكنك قراءة الفرق بين الامرين في المقالتين التالتين , الأولى تشرح مثال باستخدام امر نصي مباشر , والثانيه تشرح مثال مشابه ولكن باستخدام ال Stored Procedure
بجد ربنا يكرمك انت فعلا افدتنى جامد
ahmed fathy كتب:بجد ربنا يكرمك انت فعلا افدتنى جامد
ربنا يكرمنا جميعاً إن شاء الله
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…