المشاركة الأصلية كتبت بواسطة spyman
السلام عليكم
بيئة العمل VB.net 2019 - Access
الدرس السابق شرحنا طريقة الاتصال عن طريق الـ Data Table , واليوم نبدأ بطريقة الداتا ست DataSet وما هو فرق بينهما
رابط الدرس السابق
بأختصار , DataSet هي عبارة عن واحدة او اكثر من DataTable , . لاحظ المثال ادناه
الداتا سيت (X) هي الحاوي الكبير للـ DataTable (A,B) .
من ناحية الكود لا يوجد اختلاف في جملة الاتصال او الاستعلامات (select , delete ,edit,add)
هذا كود مع الشرح لبعض النقاط المهمة
كود:
Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Public Class Form1
' كود الاتصال هو هو ما يختلف عن الطريقة في الموضوع السابق
' لاحظ قاعدة البيانات مقفلة برقم سري 12345 وانت تكدر تغيره عن طريق الاكسس
Dim con As New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\data.mdb;user id=admin;jet oledb:database password=12345")
'الاعلان عن الداتا ست في التصريحات العامة
Dim DataSet1 As New DataSet
Dim DataSet2 As New DataSet
Dim DataSet3 As New DataSet
Dim DataAdapter As OleDbDataAdapter
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error Resume Next
Dim cmd As OleDbCommand = New OleDbCommand("SELECT id,name,phone,datee,pic from TableName order by ID ", con)
DataAdapter = New OleDbDataAdapter(cmd)
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter)
con.Open() ' فتح الاتصال
' هنا الاختلاف الاساسي بموضوع اليوم ,, لاحظ طريقة ملأ الداتا ست بالبيانات تختلف قليلاً عن الداتا تيبل
DataSet1 = New DataSet
DataAdapter.Fill(DataSet1, "TableName")
con.Close() ' غلق الاتصال
' في الكود ادناه طريقة سحب البيانات من قاعدة البيانات الى برنامجك وتسمى هذه العملية الـ DataBindings
Label1.DataBindings.Add("Text", DataSet1, "TableName.id")
TextBox1.DataBindings.Add("text", DataSet1, "TableName.name")
TextBox2.DataBindings.Add("text", DataSet1, "TableName.phone")
TextBox3.DataBindings.Add("text", DataSet1, "TableName.datee")
' ربط الداتا كرد فيو بالداتا ست (يعني تسحب الداتا ست وتخليها كبل بداخل الداتا كرد فيو )
DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "TableName"
End Sub
End Class
اي استفسار تدللون