تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اريد مساعدة شباب
#1
اريد ان اربط جدول واحد في قاعدة البيانات  باكتر من button بحيث عن طريق الفئة مثلا الجدول يكون فيه عدة عدة اصنف كلما ضغطت على button يظهر لي في datagridview بيانات ذلك الصنف المعين مثلا لدي منظومة قهوة عندما اريد ان اضغط على button قهوة يظهر لي في datagridview  بيانات القهوة فقط و اذا اردت ان اضغطت على ساندوتشات يظهر لي في datagridview  بيانات ساندوتشات فقط و الى الخ
الرد
تم الشكر بواسطة:
#2
نفس كود جلب البيانات الذي تستعمله فقط قم بحذف الأصناف الزائدة منه و أترك الذي تحتاجه إذا كنت تريد كود أو تفصيل أكثر أرجو الرد
الْحَمْدُ لِلَّهِ حَمْدًا كَثِيرًا طَيِّبًا مُبَارَكًا فِيهِ

رَبِّي أَرْزُقْنِي مُسْتَقْبَلاً أَجَمَلَ مِمَّا تَمَنَّيْتُ

وَاَجْعَل لِي فِيْ هَذِهِ الدُّنْيَا - أُنَاساً يَدْعُونَ لِي بَعْدَ أَنْ أَغِيْب

حسابي في تلكرام

 
الرد
تم الشكر بواسطة:
#3
(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
هدا هو كود جلب البيانات ماذا افعل بعدها
الرد
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته
كل ما عليك هو اضافة عامل التصفية للبيانات التي تريد جلبها من خلال تعديل الاستعلام بهذا الشكل
كود :
Query = "select * from Table_Items Where FieldName=" & Youer Condition
وفقط - تمنياتي بالتوفيق
الرد
تم الشكر بواسطة:
#5
كود :
STOCKBindingsource.filter = "CAT ='COFFEE'"
STOCK الجدول المطلوب
CAT الصنف المطلوب
الرد
تم الشكر بواسطة:
#6
(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=&شن نكتب هنا&
الرد
تم الشكر بواسطة:
#7
مثلا هكذا

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


الملفات المرفقة صورة/صور
           
الرد
تم الشكر بواسطة:
#9
كود :
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 فقط
الرد
تم الشكر بواسطة:
#10
(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 فقط"
هل لديك مثال معين من داتا بيز
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن مساعدة فى كود البحث محمد فوزى محمد 1 197 08-04-21, 10:28 PM
آخر رد: messry
  سؤال اريد حله ضروري asrar 1 195 29-03-21, 12:44 PM
آخر رد: رضوان الجماعي
  [VB.NET] اريد مساعدة في حل الكود asrar 6 743 27-03-21, 11:08 PM
آخر رد: asrar
Question [VB.NET] مساعدة ضرورية ارجوكم saqaf 1 91 27-03-21, 04:54 AM
آخر رد: علي بنيان
  [VB.NET] مساعدة: مع اداة print document الارقام تطبع انجليزى مع ويندز 8 أو 10 فقط هل من حل؟ ym_a11 3 172 24-03-21, 11:07 PM
آخر رد: أبو عبدالله الحلواني
  ممكن مساعدة alhaj1982 1 141 19-03-21, 10:20 PM
آخر رد: 3booody
  السلام عليكم اريد تعلم انشاء برنامج خاص بمكتبة مدرسية لاضافة الكتب elmoder22 3 243 10-03-21, 12:13 AM
آخر رد: علي بنيان
  اريد معرفة طريقة فتح الفورم في موضع محدد علي الشاشة أبو عبدالله الحلواني 3 349 07-03-21, 10:05 PM
آخر رد: أبو عبدالله الحلواني
  اريد كود غلق الفورم الحالى وفتح فورم اخر ali.alfoly 12 11,634 06-03-21, 10:39 PM
آخر رد: أبو عبدالله الحلواني
  [VB.NET] طلب مساعدة VBA EXCEL macpro 0 147 06-03-21, 01:07 AM
آخر رد: macpro

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم