Hi Dhanesh,
Here is what I use to delete a record from my dataset in my VB.Net program that accesses a MS Access DB.
Here is the creation of my dataset.
CODE
'Create a new dataset to hold the records returned from the call to FillDataSet.
'A temporary dataset is used because filling the existing dataset would
'require the databindings to be rebound.
Dim objDataSetTemp As SecureComp.DataSet1
objDataSetTemp = New SecureComp.DataSet1()
Try
'Attempt to fill the temporary dataset.
Me.FillDataSet(objDataSetTemp)
Catch eFillDataSet As System.Exception
Try
Dim writeFile As New StreamWriter("\\MAIN\hbh\Error.txt", True)
If writeFile Is Nothing Then 'if file didn't open
MessageBox.Show("File failed to open")
Else
'write error to file
writeFile.WriteLine(System.DateTime.Now & " Error loading database")
writeFile.Close()
End If
'log back out of windows
' ExitWindowsEx(0, 0)
Catch
'log back out of windows
' ExitWindowsEx(0, 0)
End Try
End Try
Try
'Empty the old records from the dataset.
objdsClient1.Clear()
'Merge the records into the main dataset.
objdsClient1.Merge(objDataSetTemp)
'get dataset length
totalRec = objdsClient1.Tables("password").Rows.Count
'set password text box to focus
txtPass.Focus()
'lock common keyboard functions e.x. alt+tab, alt+F4 ...
HookKeyboard()
'start focus timer
StartTimer1.Start()
Catch eLoadMerge As System.Exception
Try
'write system glitch to file
Dim writeFile As New StreamWriter("\\MAIN\hbh\Error.txt", True)
If writeFile Is Nothing Then 'if it didn't open
MessageBox.Show("File failed to open")
Else
writeFile.WriteLine(System.DateTime.Now & "Error loading database")
writeFile.Close()
End If
'log back out of windows
' ExitWindowsEx(0, 0)
Catch
'log back out of windows
' ExitWindowsEx(0, 0)
End Try
End Try
Here is the call to the delete function (Me.btnDelete_Click(sender,e)), notice that I commit the changes right after the delete occurs.
CODE
ElseIf (number = 1) Then
MessageBox.Show("1 Minute Left on password", "Password Time Notice", _
MessageBoxButtons.OK, MessageBoxIcon.Warning)
ElseIf (number < 1) Then
'time ended
'delete record from dataset
If (editpass_type.Text <> 4) Then
Me.btnDelete_Click(sender, e)
End If
Try
'commit changes
Me.UpdateDataSet()
Catch
'write error to file
Dim writeFile As New StreamWriter("\\MAIN\hbh\Error.txt", True)
If writeFile Is Nothing Then 'if it didn't open
MessageBox.Show("File failed to open")
Else
writeFile.WriteLine(System.DateTime.Now & " Error updating database")
writeFile.Close()
End If
End Try
Here is the actual delete function that I call in the program.
CODE
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If (Me.BindingContext(objdsClient1, "password").Count > 0) Then
Me.BindingContext(objdsClient1, "password").RemoveAt(Me.BindingContext(objdsClient1, "password").Position)
End If
End Sub
Lastly here is the update function I used.
CODE
Public Sub UpdateDataSet()
'Create a new dataset to hold the changes that have been made to the main dataset.
Dim objDataSetChanges As SecureComp.DataSet1 = New SecureComp.DataSet1()
'Stop any current edits.
Me.BindingContext(objdsClient1, "password").EndCurrentEdit()
'Get the changes that have been made to the main dataset.
objDataSetChanges = CType(objdsClient1.GetChanges, SecureComp.DataSet1)
'Check to see if any changes have been made.
If (Not (objDataSetChanges) Is Nothing) Then
Try
'There are changes that need to be made, so attempt to update the datasource by
'calling the update method and passing the dataset and any parameters.
Me.UpdateDataSource(objDataSetChanges)
objdsClient1.Merge(objDataSetChanges)
objdsClient1.AcceptChanges()
Catch eUpdate As System.Exception
Dim writeFile As New StreamWriter("C:\HBH\cmd\Error1.dat", True)
If writeFile Is Nothing Then 'if it didn't open
MessageBox.Show("File failed to open")
Else
writeFile.WriteLine(System.DateTime.Now & " Error updating database")
writeFile.Close()
End If
Throw eUpdate
End Try
'Add your code to check the returned dataset for any errors that may have been
'pushed into the row object's error.
End If
End Sub
Hope this helps.
Comment/Reply (w/o sign-up)