اليكم الطريقة التي استخدمها وارجوا توضيح عيوبها ان كان بها عيوب او كانت هناك طريقة أفضل منها
Dim cn As New OleDb.OleDbConnection(connString)
cn.Open()
Dim sqlStatement As String = "UPDATE [Tabel ] SET [Field]" & " = 5000 WHERE [Field] =9999"
Dim cmd As New OleDb.OleDbCommand()
cmd.Connection = cn
cmd.CommandText = sqlStatement
cmd.ExecuteNonQuery()
هذا كل ما في الامر اقوم باستبدال جملة الاستعلام فقط وبحالة الرغبة في تعديل البيانات او الاضافة
أذا أضفنا لها أنني ساقوم بالاعلان عن بعض المتغيرات لمرة واحدة في موديل فيمكن أختصار هذه الاسطر الى أكثر من ذلك
ولكن مع عملية اظهار البيانات فيمكن استخدام عدة طرق منها:
Dim cmd As New OleDb.OleDbCommand("SELECT * FROM [ Tabel ]", cn)
Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader()
Do While dr.Read()
ListBox1.Items.Add(CInt(dr.Item("Field")))
Loop
dr.Close()
يتم هنا عرض السجلات واحدا تلو الاخر حتى النهاية. وتفيد بحالة الرغبة في وضع قيم في اداة من ليست بوكس أو ما شابه.
اما اذا أردت الحصول على سجل كامل وبسحبة واحدة فيمكن استخدام التالي:
Dim cn As System.Data.OleDb.OleDbConnection
Dim cmd As System.Data.OleDb.OleDbDataAdapter
Dim ds As New System.Data.DataSet()
cn = New System.Data.OleDb.OleDbConnection(constring)
cmd = New System.Data.OleDb.OleDbDataAdapter("select * from Categories", cn)
cn.Open()
cmd.Fill(ds)
cn.Close()
وهنا تم وضع كل السجلات بالداتا سيت ويمكنك استخدام احدى الادوات مثل الدبي قريد لعرض هذا السجل دفعة واحدة
هل رأيت لا يوجد كود كثير لترهق نفسك به
