تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اريد مساعدة شباب
#8
(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 دون ملئ البيانات خلية خلية ولكنه يعمل على اي حال ان شاء الله
لم اجرب الكود فعلا كتبته هنا في المحرر مباشرة ارجو ان تقوم بتجريته


الملفات المرفقة صورة/صور
           
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
اريد مساعدة شباب - بواسطة Osama_NY - 06-12-20, 08:56 PM
RE: اريد مساعدة شباب - بواسطة aldery - 06-12-20, 09:10 PM
RE: اريد مساعدة شباب - بواسطة Osama_NY - 06-12-20, 11:27 PM
RE: اريد مساعدة شباب - بواسطة ADAM12 - 07-12-20, 02:01 AM
RE: اريد مساعدة شباب - بواسطة Osama_NY - 07-12-20, 04:24 PM
RE: اريد مساعدة شباب - بواسطة Anas Mahmoud - 07-12-20, 05:12 PM
RE: اريد مساعدة شباب - بواسطة Osama_NY - 07-12-20, 05:19 PM
RE: اريد مساعدة شباب - بواسطة Anas Mahmoud - 07-12-20, 05:28 PM
RE: اريد مساعدة شباب - بواسطة Osama_NY - 07-12-20, 05:37 PM
RE: اريد مساعدة شباب - بواسطة Anas Mahmoud - 07-12-20, 06:02 PM


التنقل السريع :


يقوم بقرائة الموضوع: