منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] اريد مساعدة شباب - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] اريد مساعدة شباب (/showthread.php?tid=37123)

الصفحات: 1 2


اريد مساعدة شباب - Osama_NY - 06-12-20

اريد ان اربط جدول واحد في قاعدة البيانات  باكتر من button بحيث عن طريق الفئة مثلا الجدول يكون فيه عدة عدة اصنف كلما ضغطت على button يظهر لي في datagridview بيانات ذلك الصنف المعين مثلا لدي منظومة قهوة عندما اريد ان اضغط على button قهوة يظهر لي في datagridview  بيانات القهوة فقط و اذا اردت ان اضغطت على ساندوتشات يظهر لي في datagridview  بيانات ساندوتشات فقط و الى الخ


RE: اريد مساعدة شباب - aldery - 06-12-20

نفس كود جلب البيانات الذي تستعمله فقط قم بحذف الأصناف الزائدة منه و أترك الذي تحتاجه إذا كنت تريد كود أو تفصيل أكثر أرجو الرد


RE: اريد مساعدة شباب - Osama_NY - 06-12-20

(06-12-20, 09:10 PM)aldery كتب : نفس كود جلب البيانات الذي تستعمله فقط قم بحذف الأصناف الزائدة منه و أترك الذي تحتاجه إذا كنت تريد كود أو تفصيل أكثر أرجو الرد

Sub fill2()
        dt.Clear()
        DataGridView1.Rows.Clear()
        Query = "select * from Table_Items "
        da = New SqlDataAdapter(Query, Module1.con)
        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
هدا هو كود جلب البيانات ماذا افعل بعدها


RE: اريد مساعدة شباب - أبو عبدالله الحلواني - 07-12-20

السلام عليكم ورحمة الله وبركاته
كل ما عليك هو اضافة عامل التصفية للبيانات التي تريد جلبها من خلال تعديل الاستعلام بهذا الشكل
كود :
Query = "select * from Table_Items Where FieldName=" & Youer Condition
وفقط - تمنياتي بالتوفيق


RE: اريد مساعدة شباب - ADAM12 - 07-12-20

كود :
STOCKBindingsource.filter = "CAT ='COFFEE'"
STOCK الجدول المطلوب
CAT الصنف المطلوب


RE: اريد مساعدة شباب - Osama_NY - 07-12-20

(07-12-20, 02:01 AM)ADAM12 كتب :
كود :
STOCKBindingsource.filter = "CAT ='COFFEE'"
STOCK الجدول المطلوب
CAT الصنف المطلوب

يعني هكي Table_itemsBlindingsource.filter="Categroy='Coffee' "

(07-12-20, 01:14 AM)أبو عبدالله الحلواني كتب : السلام عليكم ورحمة الله وبركاته
كل ما عليك هو اضافة عامل التصفية للبيانات التي تريد جلبها من خلال تعديل الاستعلام بهذا الشكل
كود :
Query = "select * from Table_Items Where FieldName=" & Youer Condition
وفقط - تمنياتي بالتوفيق

يعني هكي
Query="select * from Table_items where Icategroy=&شن نكتب هنا&


RE: اريد مساعدة شباب - Anas Mahmoud - 07-12-20

مثلا هكذا

كود :
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 دون ملئ البيانات خلية خلية ولكنه يعمل على اي حال ان شاء الله
لم اجرب الكود فعلا كتبته هنا في المحرر مباشرة ارجو ان تقوم بتجريته


RE: اريد مساعدة شباب - Osama_NY - 07-12-20

(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 دون ملئ البيانات خلية خلية ولكنه يعمل على اي حال ان شاء الله
لم اجرب الكود فعلا كتبته هنا في المحرر مباشرة ارجو ان تقوم بتجريته



RE: اريد مساعدة شباب - Anas Mahmoud - 07-12-20

كود :
Sub fillWithIcategroy ( Icategroy as string)
      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


ثم 

كود :
fillWithIcategroy ("المشروبات الساخنة")

ليست فكرة جيدة ان يكون حقل Icategroy من نوع نصي ، هذا اهدار لقاعدة البيانات ، ستمتلئ بسرعة وتصبح ابطا في وقت اقل

الافضل انشاء جدول منفصل يحوى الاسم النصي و ال ID والجدول الرئيسي يحوى ال ID فقط


RE: اريد مساعدة شباب - Osama_NY - 07-12-20

(07-12-20, 05:28 PM)Anas Mahmoud كتب :
كود :
Sub fillWithIcategroy ( Icategroy as string)
      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


ثم 

كود :
fillWithIcategroy ("المشروبات الساخنة")

ليست فكرة جيدة ان يكون حقل Icategroy من نوع نصي ، هذا اهدار لقاعدة البيانات ، ستمتلئ بسرعة وتصبح ابطا في وقت اقل

الافضل انشاء جدول منفصل يحوى الاسم النصي و ال ID والجدول الرئيسي يحوى ال ID فقط
لم افهم "الافضل انشاء جدول منفصل يحوى الاسم النصي و ال ID والجدول الرئيسي يحوى ال ID فقط"
هل لديك مثال معين من داتا بيز