تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل استعلام بدلالة الصفوف المختارة من الداتا جريد
#1
عمل استعلام عن طريق رقم الصنف.ولكن تم اختيار عدد من الايتم عن طريق اختيار اكثر من في الداتا جريد .كيف تم عمل استعلام لكل العناصر المختار بناء علي قيمتها الموجوده في العمود رقم 8 في الداتا جريد
الرد }}}
تم الشكر بواسطة:
#2
تفضل هذا مثال مشروح عما تريده :

وهذا الكود مشروح :

PHP كود :
'عمل مديول ووضع فانكشن به'
Module SearchByID
    
''' <summary>'
 
   ''' بحث حسب حقل محدد متعدد القيمة'
 
   ''' </summary>'
 
   ''' <param name="TableName">اسم الجدول</param>'
 
   ''' <param name="FindBy">اسم العامود في قاعدة البيانات المراد البحث فيه</param>'
 
   ''' <param name="Arr">مصفوفة تحمل القيم المراد البحث عنها</param>'
 
   ''' <returns>داتا تيبل</returns>'
 
   ''' <remarks>لا يوجد</remarks>'
 
   Public Function LoadAllRowsToTheToolsInForm(ByVal TableName As StringFindBy As StringByVal Arr As ArrayList) As DataTable
        
'تعريف متغير لعمل الاستعلام'
 
       Dim StrSQL As String String.Empty
 
       'تعريف متغير من نوع رقمي'
 
       Dim i As Integer 0
        
'بداية عمل الاستعلام'
 
       StrSQL "Select * From " TableName " Where " FindBy "="
 
       'تصفير المتغير الرقمي'
 
       i 0
        
'عمل لوب حسب عدد العدد المحفوظ بالاراي'
 
       For i 0 To Arr.Count 1
            
'عمل شرط حسب أخر قيمة في الاراي'
 
           If i Arr.Count 1 Then
                
'تكملة تعبئة الاستعلام'
 
               StrSQL += "@txt" i
            Else 
'كل قيم الاراي ما عدا آخر قيمة'
 
               'تعبئة الاستعلام بـ اسم العامود و الباراميتر'
 
               StrSQL += "@txt" " Or " FindBy "="
 
           End If
 
       Next
        
'تصفير المتغير الرقمي'
 
       i 0
        
'كود الاتصال بقاعدة البيانات'
 
       Dim Con As New SqlClient.SqlConnection("Server =(local);database=TestAsemXT;integrated security=false;User ID=UserName;Password=12345")
 
       'تعريف داتا أدبتر'
 
       Dim da As New SqlClient.SqlDataAdapter
        
'فتح الاتصال بقاعدة البيانات'
 
       If Con.State ConnectionState.Closed Then Con.Open()
 
       'تعريف سيكول كوماندو وضع الاستعلام و كود الاتصال به'
 
       Dim cmd As New SqlClient.SqlCommand(StrSQLCon)
 
       'عمل لوب حسب عدد العدد المحفوظ بالاراي لوضع الباراميترات فيه'
 
       For i 0 To Arr.Count 1
            
'شرط لايقاف اللوب عند آخر قيمة'
 
           If i Arr.Count Then Exit For
 
           'تعبئة الباراميترات من القيم المحفوظة بالاراي'
 
           cmd.Parameters.AddWithValue("@txt" iArr(i).ToString)
 
       Next
        
'وضع الكوماند بـ الداتا أدبتر'
 
       da.SelectCommand cmd
        
'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       Try
            
'فتح الاتصال بقاعدة البيانات في حال كان مغلقا'
 
           If Con.State ConnectionState.Closed Then Con.Open()
 
           'تحميل السجلات في الداتاتيبل'
 
           da.Fill(dt)
 
           'إغلاق الاتصال بقاعدة البيانات في حال كان مفتوحا'
 
           If Con.State ConnectionState.Open Then Con.Close()
 
           'العودة بـ الداتاتيبل المعبئة'
 
           Return dt
        Catch ex 
As Exception
            
'رسالة في حال وجود خطأ'
 
           MessageBox.Show(ex.Message)
 
           'إغلاق الاتصال بقاعدة البيانات في حال كان مفتوحا'
 
           If Con.State ConnectionState.Open Then Con.Close()
 
           'العودة بقيمة فارغة بسبب الخطأ'
 
           Return Nothing
        Finally
            
'إغلاق الاتصال بقاعدة البيانات في حال كان مفتوحا'
 
           If Con.State ConnectionState.Open Then Con.Close()
 
       End Try
 
   End Function
End Module
'كيفية إستخدام الكود في الفورم'
'كيفية إستخدام الكود في الفورم'
Public Class Form1
    
'كود تحميل الفورم'
 
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        
'تعريف متغير ووضع الاستعلام به'
 
       Dim StrSQL As String "Select * From TestTable "
 
       'كود الاتصال بقاعدة البيانات'
 
       Dim Con As New SqlClient.SqlConnection("Server =(local);database=TestAsemXT;integrated security=false;User ID=UserName;Password=123456")
 
       'تعريف داتا أدبتر'
 
       Dim da As New SqlClient.SqlDataAdapter(StrSQLCon)
 
       'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       'تعريف اسم للجدول في الداتا تيبل'
 
       dt.TableName "TestTable"
 
       'تحميل السجلات في الداتاتيبل'
 
       da.Fill(dt)
 
       'عمل لووب لتعبئة الجدول من الداتا تيبل'
 
       For Each Row As DataRow In dt.Rows
            
'وضع السجلات في الجدول'
 
           DGV1.Rows.Add(Row.ItemArray)
 
       Next
    End Sub
    
'زر البحث عن طريق القيم المحددة في الجدول الاول'
 
   Private Sub BtnFindByIdDGV1_Click(sender As ObjectAs EventArgsHandles BtnFindByIdDGV1.Click
        
'عمل أراي ليست'
 
       Dim Arr As New ArrayList
        
'تفريغ الاراي ليست'
 
       Arr.Clear()
 
       'عمل لوب لتعبئة الاراي من القيم المحددة في الجدول الاول'
 
       For Each row As DataGridViewRow In DGV1.Rows
            
'عمل شرط للتحقق من القيم المحددة في الجدول الاول'
 
           If row.Cells(4).Value True Then
                
'وضع القيم في الاراي حسب عامود الرقم'
 
               Arr.Add(row.Cells(0).Value)
 
           End If
 
       Next
        
'لفريغ الجدول من السجلات في حال عمل بحث جديد'
 
       DGV2.Rows.Clear()
 
       'عمل لوب لتعبئة الجدول من الداتاتيبل العائدة من الفانكشن'
 
       For Each row1 As DataRow In LoadAllRowsToTheToolsInForm("TestTable""ID"Arr).Rows
            
'وضع السجلات في الجدول'
 
           DGV2.Rows.Add(row1.ItemArray)
 
       Next
    End Sub
End 
Class 


الملفات المرفقة
.zip   SearchByIDDGV.zip (الحجم : 88.14 ك ب / التحميلات : 68)
.zip   عمل الداتابيز و الجدول للتجربة.zip (الحجم : 556 بايت / التحميلات : 42)
الرد }}}
تم الشكر بواسطة: elgokr
#3
جزاك الله خيرا اخي. إن شاء الله أروح البيت واشوف الموضوع
الرد }}}
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ابغي ارجع قيمة الداتا قراد فيو من جديد عندي مشكله khalidalwdi 3 636 05-12-24, 02:21 AM
آخر رد: aljzazy
  استعلام على حقل date العيدروس 2 237 19-11-24, 02:25 PM
آخر رد: العيدروس
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 667 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  التحكم في ارتفاع صفوف الداتا جريد فيو cvcvcv 3 4,672 09-10-24, 08:28 PM
آخر رد: Kamil
Rainbow [كود] البحث وتحريك اسهم الداتا جريدفيو عند البحث محمد مسافر 2 583 19-09-24, 01:14 AM
آخر رد: محمد مسافر
  تكرار الصفوف في الكريستل ريبورت makky 2 2,466 26-08-24, 01:20 PM
آخر رد: تركي الحلواني
  مشكلة تكرار الصفوف أثناء عرض التقرير Adel27213 1 265 26-08-24, 01:08 PM
آخر رد: تركي الحلواني
  مشكلة تكرار الصفوف أثناء عرض التقرير Adel27213 0 288 26-08-24, 05:18 AM
آخر رد: Adel27213
  اضافة اسطر فارعة في الداتا جريد فيو ismaeel 1 559 25-08-24, 02:43 AM
آخر رد: Taha Okla
  ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو alachk 11 1,113 11-08-24, 11:44 AM
آخر رد: alachk

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


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