07-12-20, 05:19 PM (آخر تعديل لهذه المشاركة : 07-12-20, 05:21 PM {2} بواسطة Osama_NY.)
(07-12-20, 05:12 PM)Anas Mahmoud كتب : مثلا هكذا
كود :
Query="select * from Table_items where Icategroy = 3"
Icategroy من الاسم اظن انه ID من جدول انواع المنتجات وبالتالي هو خانة تحمل رقم
لتجعل الكود اكثر مرونة ضع الامر كله في اجراء ومرر له رقم المنتج Icategroy ومن ثم تقوم باستدعاءه في الازرار بارقام مختلفة :
كود :
Sub fillWithIcategroy ( Icategroy as integer )
dt.Clear()
DataGridView1.Rows.Clear()
Query="select * from Table_items where Icategroy = @Icategroy"
da = New SqlDataAdapter(Query, Module1.con)
da.SelectCommand.Parameters.AddWithValue("@Icategroy",Icategroy)
da.Fill(dt)
For i As Integer = 0 To dt.Rows.Count - 1
DataGridView1.Rows.Add()
DataGridView1.Rows(i).Cells(0).Value = i + 1
DataGridView1.Rows(i).Cells(1).Value = dt.Rows(i)(1)
DataGridView1.Rows(i).Cells(2).Value = dt.Rows(i)(2)
DataGridView1.Rows(i).Cells(3).Value = dt.Rows(i)(3)
DataGridView1.Rows(i).Cells(4).Value = dt.Rows(i)(4)
Next
End Sub
الان في الزر الخاص بالقهوة مثلا ، لنقل ان رقم القهوة هو 4 يصبح الكود المطلوب هو فقط :
كود :
fillWithIcategroy (4)
للمنتج رقم 3 مثلا :
كود :
fillWithIcategroy (3)
ملاحظات : احذر من ال SQL Injection
ثانيا الكود به تحسينات اكثر من ذلك ، لو كان الامر لي لكنت قمت بعمل دالة تعيد datatable فقط واقوم انا باسنادها للخاصية DataSource دون ملئ البيانات خلية خلية ولكنه يعمل على اي حال ان شاء الله
لم اجرب الكود فعلا كتبته هنا في المحرر مباشرة ارجو ان تقوم بتجريته
(07-12-20, 05:19 PM)Osama_NY كتب :
(07-12-20, 05:12 PM)Anas Mahmoud كتب : مثلا هكذا
كود :
Query="select * from Table_items where Icategroy = 3"
Icategroy من الاسم اظن انه ID من جدول انواع المنتجات وبالتالي هو خانة تحمل رقم
لتجعل الكود اكثر مرونة ضع الامر كله في اجراء ومرر له رقم المنتج Icategroy ومن ثم تقوم باستدعاءه في الازرار بارقام مختلفة :
كود :
Sub fillWithIcategroy ( Icategroy as integer )
dt.Clear()
DataGridView1.Rows.Clear()
Query="select * from Table_items where Icategroy = @Icategroy"
da = New SqlDataAdapter(Query, Module1.con)
da.SelectCommand.Parameters.AddWithValue("@Icategroy",Icategroy)
da.Fill(dt)
For i As Integer = 0 To dt.Rows.Count - 1
DataGridView1.Rows.Add()
DataGridView1.Rows(i).Cells(0).Value = i + 1
DataGridView1.Rows(i).Cells(1).Value = dt.Rows(i)(1)
DataGridView1.Rows(i).Cells(2).Value = dt.Rows(i)(2)
DataGridView1.Rows(i).Cells(3).Value = dt.Rows(i)(3)
DataGridView1.Rows(i).Cells(4).Value = dt.Rows(i)(4)
Next
End Sub
الان في الزر الخاص بالقهوة مثلا ، لنقل ان رقم القهوة هو 4 يصبح الكود المطلوب هو فقط :
كود :
fillWithIcategroy (4)
للمنتج رقم 3 مثلا :
كود :
fillWithIcategroy (3)
ملاحظات : احذر من ال SQL Injection
ثانيا الكود به تحسينات اكثر من ذلك ، لو كان الامر لي لكنت قمت بعمل دالة تعيد datatable فقط واقوم انا باسنادها للخاصية DataSource دون ملئ البيانات خلية خلية ولكنه يعمل على اي حال ان شاء الله
لم اجرب الكود فعلا كتبته هنا في المحرر مباشرة ارجو ان تقوم بتجريته
(07-12-20, 05:19 PM)Osama_NY كتب :
(07-12-20, 05:12 PM)Anas Mahmoud كتب : مثلا هكذا
كود :
Query="select * from Table_items where Icategroy = 3"
Icategroy من الاسم اظن انه ID من جدول انواع المنتجات وبالتالي هو خانة تحمل رقم
لتجعل الكود اكثر مرونة ضع الامر كله في اجراء ومرر له رقم المنتج Icategroy ومن ثم تقوم باستدعاءه في الازرار بارقام مختلفة :
كود :
Sub fillWithIcategroy ( Icategroy as integer )
dt.Clear()
DataGridView1.Rows.Clear()
Query="select * from Table_items where Icategroy = @Icategroy"
da = New SqlDataAdapter(Query, Module1.con)
da.SelectCommand.Parameters.AddWithValue("@Icategroy",Icategroy)
da.Fill(dt)
For i As Integer = 0 To dt.Rows.Count - 1
DataGridView1.Rows.Add()
DataGridView1.Rows(i).Cells(0).Value = i + 1
DataGridView1.Rows(i).Cells(1).Value = dt.Rows(i)(1)
DataGridView1.Rows(i).Cells(2).Value = dt.Rows(i)(2)
DataGridView1.Rows(i).Cells(3).Value = dt.Rows(i)(3)
DataGridView1.Rows(i).Cells(4).Value = dt.Rows(i)(4)
Next
End Sub
الان في الزر الخاص بالقهوة مثلا ، لنقل ان رقم القهوة هو 4 يصبح الكود المطلوب هو فقط :
كود :
fillWithIcategroy (4)
للمنتج رقم 3 مثلا :
كود :
fillWithIcategroy (3)
ملاحظات : احذر من ال SQL Injection
ثانيا الكود به تحسينات اكثر من ذلك ، لو كان الامر لي لكنت قمت بعمل دالة تعيد datatable فقط واقوم انا باسنادها للخاصية DataSource دون ملئ البيانات خلية خلية ولكنه يعمل على اي حال ان شاء الله
لم اجرب الكود فعلا كتبته هنا في المحرر مباشرة ارجو ان تقوم بتجريته