منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ملأ DATAGRID بالمعلومات عن طريق DO WHILE
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لسلام عليكم

كيف يمكن ان أملأ DATAGRID صف بعد صف بالاعتماد على نتائج الاستعلام وباستخدام DO WHILE    LOOP
انا لدي  قاعدة بيانات SQL SERVER  و VB.NET 2010 ما اريده هو ان استعلم عن حقل معين في جدول قاعدة البيانات في حالة تساوي قيمته مع  TEXTBOX وفي حالة تحقق الشرط يتم اضافة هذا القيد الى DATAGRID ومن ثم العودة الى تنفيذالاستعلام  السابق حيث ان قيمة TEXTBOX  سوف تتغير بناءً على معلومات القيد الذي تم اضافته لل DATAGRID وفي حالة تحقق الشرط في المرة الثانية سوف يتم اضافة الصف الثاني لل DATAGRID وهكذا الى ان نصل الى نهاية حلقة التكرار  . انا قمة باستخدام DATATABLE  عدد 2 و DATAROW كما في الطريقة ادناه ولم تنجح معي ارجو المساعدة وشكراً

 DOW WHILE TEXTBOX2.TEXT<> ""
SQLSTR=" SELECT * FROM tABLE WHERE FILED1='" & TEXTBOX1.TEXT & "'"
DIM DP AS NEW SQLDATAADPTER(SQLSTR,CON)
DIM D1 AS NEW DATA TABLE
DIM D2 AS NEW DATATABLE
DIM DR AS DATAROW
DP.FILL(D1)
DR=D1.ROW(0)
D2.IMPORTROW(DR)

LOOP
كود :
Public Class Form1
   Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
   Dim con As New OleDb.OleDbConnection(str)

 

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       d.ColumnCount = 2
       d.Columns(0).Name = "N"
       d.Columns(1).Name = "Age"

       Dim sql As String = "select * from tb where age between " & Val(t1.Text) & " and " & Val(t2.Text) & ""
       Dim cm As New OleDb.OleDbCommand("", con)
       cm.Parameters.Clear()
       cm.CommandText = sql

       If con.State = ConnectionState.Closed Then
           con.Open()
       End If
       Dim dr As OleDb.OleDbDataReader = cm.ExecuteReader

       If dr.HasRows Then
           Do While dr.Read
               Dim row As String() = New String() {dr.Item("tn"), dr.Item("age")}
               d.Rows.Add(row)
           Loop
       End If
   End Sub
End Class

هذي فكرة اعمار اشخاص يبحث عن من اعمارهم بين 20 و 40 مثلا
ولو احببت البحث فقط عن من اعمارهم 40 يمكنك التعديل بالكود بكل سهولة