الصراحة جهزت المثال قبل ردك الاخير
طبعا اضفت اجراءين oncon و ofcon
واقصد فتح الاتصال واغلاقه لكن بالمثال هذا لا نحتاج لفتح الاتصال وانما فقط للغلق
وضعت ofcon باجراء جلب البيانات gd
وان ظلت القاعدة مفتوحة فهذا يعني نحتاج وضع الاجراء بعد كل عملية تحديث(اضافة-تعديل-حذف)
PHP كود :
Public Class Form1
Dim con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
Dim dt As DataTable
Dim da As OleDb.OleDbDataAdapter
Dim cmdb As OleDb.OleDbCommandBuilder
Private Sub oncon()
Try
con.Open()
Catch ex As Exception
End Try
End Sub
Private Sub ofcon()
Try
con.Close()
Catch ex As Exception
End Try
End Sub
Private Sub gd()
PictureBox1.DataBindings.Clear()
PictureBox1.Image = Nothing
dt = New DataTable
da = New OleDb.OleDbDataAdapter("select * from tb", con)
cmdb = New OleDb.OleDbCommandBuilder(da)
da.Fill(dt)
PictureBox1.DataBindings.Add("image", dt, "pic", True)
ofcon()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
gd()
End Sub
Private Function addpic(ByVal b() As Byte) As Boolean
' Try
Dim row As DataRow = dt.NewRow
row(1) = b
dt.Rows.Add(row)
da.Update(dt)
Return True
gd()
' Catch ex As Exception
'Return False
' End Try
End Function
Private Function edpic(ByVal b() As Byte) As Boolean
' Try
Dim row As DataRow = dt.Rows(Me.BindingContext(dt).Position)
row.BeginEdit()
row(1) = b
row.EndEdit()
da.Update(dt)
Return True
gd()
' Catch ex As Exception
'Return False
' End Try
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.BindingContext(dt).Position -= 1
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.BindingContext(dt).Position += 1
End Sub
Private Sub cmdnew_Click(sender As Object, e As EventArgs) Handles cmdnew.Click
Dim o As New OpenFileDialog
If o.ShowDialog = Windows.Forms.DialogResult.OK Then
If addpic(My.Computer.FileSystem.ReadAllBytes(o.FileName)) Then
MsgBox("تم حفظ الصورة بنجاح")
Else
MsgBox("حدث خطا", MsgBoxStyle.Critical, "")
End If
End If
End Sub
Private Sub cmdedit_Click(sender As Object, e As EventArgs) Handles cmdedit.Click
Dim o As New OpenFileDialog
If o.ShowDialog = Windows.Forms.DialogResult.OK Then
If edpic(My.Computer.FileSystem.ReadAllBytes(o.FileName)) Then
MsgBox("تم التعديل بنجاح")
Else
MsgBox("حدث خطا", MsgBoxStyle.Critical, "")
End If
End If
End Sub
Private Sub cmddel_Click(sender As Object, e As EventArgs) Handles cmddel.Click
dt.Rows(Me.BindingContext(dt).Position).Delete()
da.Update(dt)
gd()
MsgBox("تم الحذف بنجاح")
End Sub
End Class
واقصد فتح الاتصال واغلاقه لكن بالمثال هذا لا نحتاج لفتح الاتصال وانما فقط للغلق
وضعت ofcon باجراء جلب البيانات gd
وان ظلت القاعدة مفتوحة فهذا يعني نحتاج وضع الاجراء بعد كل عملية تحديث(اضافة-تعديل-حذف)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير

