26-08-16, 08:26 PM
عملت برنامج بفيجوال بيسك 2012 و ربطته بقاعدة بيانات اكسس 2010 و البرنامج يعمل جيدا و يقوم بعمل سجلات جديدة و يقوم باضافتها لكنه بمجرد غلقه و فتحه مرة اخري اجد انه لا يحفظ ما تم وضعه به و نفس الشيء في قاعدة البيانات برجاء الافادة في سبب عدم الحفظ ؟ و هذا هو الكود الخاص بالفورم
Imports System.Data.OleDb
Public Class Form1
Dim con As New OleDbConnection("Provider = Microsoft.Ace.Oledb.12.0; Data Source = Disreser.accdb")
Dim dt As New DataTable()
Dim cr As CurrencyManager
Dim cb As OleDbCommandBuilder
Dim da As New OleDbDataAdapter()
Public Function UpdateDataSource(ByVal dataSet As EditProducts.DSProducts) _
As System.Int32
Me.OleDbConnection1.Open()
Dim UpdatedRows As System.Data.DataSet
Dim InsertedRows As System.Data.DataSet
Dim DeletedRows As System.Data.DataSet
Dim AffectedRows As Integer = 0
UpdatedRows = dataSet.GetChanges(System.Data.DataRowState.Modified)
InsertedRows = dataSet.GetChanges(System.Data.DataRowState.Added)
DeletedRows = dataSet.GetChanges(System.Data.DataRowState.Deleted)
Try
If (Not (UpdatedRows) Is Nothing) Then
AffectedRows = da.Update(UpdatedRows)
AffectedRows = (AffectedRows + da.Update(UpdatedRows))
AffectedRows = (AffectedRows + da.Update(UpdatedRows))
End If
If (Not (InsertedRows) Is Nothing) Then
AffectedRows = (AffectedRows + da.Update(InsertedRows))
AffectedRows = (AffectedRows + da.Update(InsertedRows))
AffectedRows = (AffectedRows + da.Update(InsertedRows))
End If
If (Not (DeletedRows) Is Nothing) Then
AffectedRows = (AffectedRows + da.Update(DeletedRows))
AffectedRows = (AffectedRows + da.Update(DeletedRows))
AffectedRows = (AffectedRows + da.Update(DeletedRows))
End If
Catch updateException As System.Exception
Throw updateException
Finally
Me.OleDbConnection1.Close()
End Try
End Function
Public Sub New()
' This call is required by the designer.
InitializeComponent()
da = New OleDbDataAdapter("select ID , dateres , compname , compkind , adminstrator , governorate , suprvisorname , studentnumber , freenumber , telephone , mobile , simulatorno , Girono , showtype , Notes from Disreser ", con)
da.Fill(dt)
TextBox9.DataBindings.Add("Text", dt, "dateres")
TextBox1.DataBindings.Add("Text", dt, "compname")
ComboBox1.DataBindings.Add("Text", dt, "compkind")
TextBox2.DataBindings.Add("Text", dt, "adminstrator")
ComboBox2.DataBindings.Add("Text", dt, "governorate")
TextBox3.DataBindings.Add("Text", dt, "suprvisorname")
TextBox4.DataBindings.Add("Text", dt, "studentnumber")
TextBox5.DataBindings.Add("Text", dt, "freenumber")
TextBox6.DataBindings.Add("Text", dt, "telephone")
TextBox7.DataBindings.Add("Text", dt, "mobile")
ComboBox3.DataBindings.Add("Text", dt, "showtype")
TextBox10.DataBindings.Add("Text", dt, "simulatorno")
TextBox11.DataBindings.Add("Text", dt, "Girono")
TextBox8.DataBindings.Add("Text", dt, "Notes")
cr = Me.BindingContext(dt)
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Property BindingSource1 As Object
Private Sub Btnfirst_Click(sender As Object, e As EventArgs) Handles Btnfirst.Click
cr.Position = 0
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btnprevious_Click(sender As Object, e As EventArgs) Handles Btnprevious.Click
cr.Position = cr.Position - 1
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btnlast_Click(sender As Object, e As EventArgs) Handles Btnlast.Click
cr.Position = cr.Count - 1
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Btninsert.Click
If (String.IsNullOrWhiteSpace(TextBox1.Text) AndAlso String.IsNullOrWhiteSpace(ComboBox1.Text)) Then
MessageBox.Show("يجب ادخال البيانات في الحقول لكي يتم الاضافة")
Return
End If
Me.Validate()
cr.EndCurrentEdit()
cb = New OleDbCommandBuilder(da)
da.Update(dt)
MessageBox.Show("تمت الاضافة بنجاح")
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Btnnew.Click
cr.AddNew()
TextBox9.Focus()
End Sub
Private Sub Btndeldte_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles Btndeldte.Click
Me.Validate()
cr.RemoveAt(cr.Position)
cb = New OleDbCommandBuilder(da)
da.Update(dt)
MessageBox.Show("تم حذف البيانات بنجاح")
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btnedit_Click_1(sender As Object, e As EventArgs) Handles Btnedit.Click
cr.EndCurrentEdit()
cb = New OleDbCommandBuilder(da)
da.Update(dt)
MessageBox.Show("تم تعديل البيانات بنجاح")
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btbnext_Click(sender As Object, e As EventArgs) Handles Btbnext.Click
cr.Position = cr.Position + 1
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
If (MessageBox.Show("هل تريد الخروج من البرنامج ؟", "إغلاق", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign) > Windows.Forms.DialogResult.Yes) Then Return
MessageBox.Show("شكراً لإستخدامك برنامج حجز الرحلات مع تحيات محمد سامي")
Me.Close()
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
Me.Hide()
Form2.Show()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.Hide()
Form3.Show()
End Sub
Private Function OleDbConnection1() As Object
Throw New NotImplementedException
End Function
End Class
Imports System.Data.OleDb
Public Class Form1
Dim con As New OleDbConnection("Provider = Microsoft.Ace.Oledb.12.0; Data Source = Disreser.accdb")
Dim dt As New DataTable()
Dim cr As CurrencyManager
Dim cb As OleDbCommandBuilder
Dim da As New OleDbDataAdapter()
Public Function UpdateDataSource(ByVal dataSet As EditProducts.DSProducts) _
As System.Int32
Me.OleDbConnection1.Open()
Dim UpdatedRows As System.Data.DataSet
Dim InsertedRows As System.Data.DataSet
Dim DeletedRows As System.Data.DataSet
Dim AffectedRows As Integer = 0
UpdatedRows = dataSet.GetChanges(System.Data.DataRowState.Modified)
InsertedRows = dataSet.GetChanges(System.Data.DataRowState.Added)
DeletedRows = dataSet.GetChanges(System.Data.DataRowState.Deleted)
Try
If (Not (UpdatedRows) Is Nothing) Then
AffectedRows = da.Update(UpdatedRows)
AffectedRows = (AffectedRows + da.Update(UpdatedRows))
AffectedRows = (AffectedRows + da.Update(UpdatedRows))
End If
If (Not (InsertedRows) Is Nothing) Then
AffectedRows = (AffectedRows + da.Update(InsertedRows))
AffectedRows = (AffectedRows + da.Update(InsertedRows))
AffectedRows = (AffectedRows + da.Update(InsertedRows))
End If
If (Not (DeletedRows) Is Nothing) Then
AffectedRows = (AffectedRows + da.Update(DeletedRows))
AffectedRows = (AffectedRows + da.Update(DeletedRows))
AffectedRows = (AffectedRows + da.Update(DeletedRows))
End If
Catch updateException As System.Exception
Throw updateException
Finally
Me.OleDbConnection1.Close()
End Try
End Function
Public Sub New()
' This call is required by the designer.
InitializeComponent()
da = New OleDbDataAdapter("select ID , dateres , compname , compkind , adminstrator , governorate , suprvisorname , studentnumber , freenumber , telephone , mobile , simulatorno , Girono , showtype , Notes from Disreser ", con)
da.Fill(dt)
TextBox9.DataBindings.Add("Text", dt, "dateres")
TextBox1.DataBindings.Add("Text", dt, "compname")
ComboBox1.DataBindings.Add("Text", dt, "compkind")
TextBox2.DataBindings.Add("Text", dt, "adminstrator")
ComboBox2.DataBindings.Add("Text", dt, "governorate")
TextBox3.DataBindings.Add("Text", dt, "suprvisorname")
TextBox4.DataBindings.Add("Text", dt, "studentnumber")
TextBox5.DataBindings.Add("Text", dt, "freenumber")
TextBox6.DataBindings.Add("Text", dt, "telephone")
TextBox7.DataBindings.Add("Text", dt, "mobile")
ComboBox3.DataBindings.Add("Text", dt, "showtype")
TextBox10.DataBindings.Add("Text", dt, "simulatorno")
TextBox11.DataBindings.Add("Text", dt, "Girono")
TextBox8.DataBindings.Add("Text", dt, "Notes")
cr = Me.BindingContext(dt)
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Property BindingSource1 As Object
Private Sub Btnfirst_Click(sender As Object, e As EventArgs) Handles Btnfirst.Click
cr.Position = 0
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btnprevious_Click(sender As Object, e As EventArgs) Handles Btnprevious.Click
cr.Position = cr.Position - 1
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btnlast_Click(sender As Object, e As EventArgs) Handles Btnlast.Click
cr.Position = cr.Count - 1
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Btninsert.Click
If (String.IsNullOrWhiteSpace(TextBox1.Text) AndAlso String.IsNullOrWhiteSpace(ComboBox1.Text)) Then
MessageBox.Show("يجب ادخال البيانات في الحقول لكي يتم الاضافة")
Return
End If
Me.Validate()
cr.EndCurrentEdit()
cb = New OleDbCommandBuilder(da)
da.Update(dt)
MessageBox.Show("تمت الاضافة بنجاح")
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Btnnew.Click
cr.AddNew()
TextBox9.Focus()
End Sub
Private Sub Btndeldte_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles Btndeldte.Click
Me.Validate()
cr.RemoveAt(cr.Position)
cb = New OleDbCommandBuilder(da)
da.Update(dt)
MessageBox.Show("تم حذف البيانات بنجاح")
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btnedit_Click_1(sender As Object, e As EventArgs) Handles Btnedit.Click
cr.EndCurrentEdit()
cb = New OleDbCommandBuilder(da)
da.Update(dt)
MessageBox.Show("تم تعديل البيانات بنجاح")
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Btbnext_Click(sender As Object, e As EventArgs) Handles Btbnext.Click
cr.Position = cr.Position + 1
Label13.Text = (cr.Position + 1) & " / " & dt.Rows.Count.ToString
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
If (MessageBox.Show("هل تريد الخروج من البرنامج ؟", "إغلاق", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign) > Windows.Forms.DialogResult.Yes) Then Return
MessageBox.Show("شكراً لإستخدامك برنامج حجز الرحلات مع تحيات محمد سامي")
Me.Close()
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
Me.Hide()
Form2.Show()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.Hide()
Form3.Show()
End Sub
Private Function OleDbConnection1() As Object
Throw New NotImplementedException
End Function
End Class