Imports System.Data.OleDb
Public Class Form1
Dim conn As New OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = Database1.accdb;")
Dim myDatatable As New DataTable
Dim sql As String = "SELECT * FROM [table1] "
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' قراءة قاعدة البيانات '
ReadDatabase()
End Sub
' قراءة قاعدة البيانات '
Private Sub ReadDatabase()
Using da As New OleDbDataAdapter(sql, conn)
myDatatable.Clear() ' إفراغ الداتاتابل '
da.Fill(myDatatable)
Me.DataGridView1.DataSource = myDatatable
End Using
End Sub
' إضافة بيانات للداتاتابل فقط '
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
' إضافة سطر جديد '
Dim NewRow As DataRow
NewRow = myDatatable.NewRow
'NewRow("id") = ### لا يستخدم هذا السطر إذا كان الترقيم تلقائي '
NewRow("name") = Me.TextBox1.Text
' إضافته للداتاتابل '
myDatatable.Rows.Add(NewRow)
Me.DataGridView1.Refresh()
MsgBox("تم إضافة البيانات للداتاتابل وليس قاعدة البيانات")
End Sub
' التراجع عن التحديثات '
' بشرط لم يتم عمل تحديث لقاعدة البيانات '
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
If MsgBox("هل تريد بالفعل التراجع عن كل التعديلات التي قمت بها" & vbNewLine & _
"على البيانات التي تمت على الداتاتابل؟" _
, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
' عمل تراجع على الداتاتابل '
myDatatable.RejectChanges()
MsgBox("تم التراجع عن جميع التعديلات" & vbNewLine & _
"التي تمت على الداتاتابل")
End If
End Sub
' لتحديث قاعدة البيانات بشكل نهائي '
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
If MsgBox("هل تريد تطبيق التعديل التي قمت بها" & vbNewLine & _
"على البيانات في قاعدة البيانات؟" & vbNewLine & _
"إنتبه: لن تتمكن من استعادة البيانات السابقة", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Using da As New OleDbDataAdapter(sql, conn)
Using builder As New OleDbCommandBuilder(da)
da.Update(myDatatable)
End Using
End Using
' قراءة قاعدة البيانات '
ReadDatabase()
MsgBox("تم تحديث قاعدة البيانات بآخر التعديلات" & vbNewLine & _
"التي تمت على الداتاتابل")
End If
End Sub
End Class