ما الخطا فى هذا الكود
حيث ان البرنامج يسجل حقول وليس هناك اى مشاكل ولكن عند الحذف يحذف تمام ولكن عند الضغط على button3,button4 يعرض رسالة خطأ
DataBinding cannot find a row in the list that is suitable for all bindings
وهذا هو البرنامج
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\MyData.mdb"
Dim Conn As New OleDbConnection(ConStr)
Dim DataSet1 As New DataSet
Dim SQLstr As String = "SELECT * FROM Table1"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Conn.Open()
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
DataAdapter1.Fill(DataSet1, "Table1")
Conn.Close()
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.City")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
DateTimePicker1.DataBindings.Add("value", DataSet1, "Table1.tdate")
DateTimePicker2.DataBindings.Add("value", DataSet1, "Table1.ttime")
ChangePosition()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.BindingContext(DataSet1, "table1").Position = 0
ChangePosition()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.BindingContext(DataSet1, "table1").Position -= 1
ChangePosition()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.BindingContext(DataSet1, "table1").Position += 1
ChangePosition()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.BindingContext(DataSet1, "table1").Position = Me.BindingContext(DataSet1, "table1").Count - 1
ChangePosition()
End Sub
Public Sub ChangePosition()
Label4.RightToLeft = Windows.Forms.RightToLeft.Yes
Label4.Text = "السجل " & Me.BindingContext(DataSet1, "table1").Position + 1 & _
" من " & Me.BindingContext(DataSet1, "table1").Count '- 1
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim frm2 As New Form2
frm2.Show()
Me.Hide()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
If MsgBox("هل تريد حذف السجل الحالي", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Sub
End If
Dim SavInto As New OleDb.OleDbCommand
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "DELETE FROM Table1 WHERE Mobile ='" & Trim(TextBox3.Text) & "'" '
Conn.Open()
SavInto.ExecuteNonQuery()
DataSet1.Clear()
DataAdapter1.Fill(DataSet1, "Table1")
' SavInto.Dispose() ' nezar
Conn.Close()
TextBox1.DataBindings.Clear()
TextBox2.DataBindings.Clear()
TextBox3.DataBindings.Clear()
DateTimePicker1.DataBindings.Clear()
DateTimePicker2.DataBindings.Clear()
MsgBox("تمت عملية الحذف في قاعدة البيانات بنجاح")
ChangePosition()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Dim frm3 As New Form3
frm3.TextBox1.Text = Me.TextBox1.Text
frm3.TextBox2.Text = Me.TextBox2.Text
frm3.TextBox3.Text = Me.TextBox3.Text
frm3.Label4.Text = Me.TextBox3.Text
frm3.Show()
Me.Hide()
End Sub
' Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Dim frm4 As New Form4
' frm4.Show()
' Me.Hide()
' End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
Application.Exit()
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
Dim m As String
m = "برنامج منبه المواعيد" & vbCrLf
m &= "هذا البرنامج من اعداد" & vbCrLf
m &= "المهندسه " & vbCrLf
'm &= "engauday@hotmail.com"
MsgBox(m)
End Sub
End Class