And I configured the TableAdapter exactly as shown by Beth, yet I am getting an error here:
Me.OrderDetailsTableAdapter.Update(newOrderDetailsRow)
The Error says: "You must enter a value in the 'OrderDetails.CustomerID' field."
I am using this code for inserting a related record:
Namespace MyDataSetTableAdapters
Public Class AccessIDHelper
'
Public Shared Sub SetPrimaryKey(ByVal trans As OleDbTransaction, ByVal e As OleDbRowUpdatedEventArgs)
If e.Status = UpdateStatus.Continue AndAlso e.StatementType = StatementType.Insert Then
' If this is an INSERT operation...
Dim CustomerID = e.Row.Table.PrimaryKey
' and a primary key column exists...
If CustomerID IsNot Nothing AndAlso CustomerID.Count = 1 Then
Dim cmdGetIdentity As New OleDbCommand("SELECT @@IDENTITY", trans.Connection, trans)
' Execute the post-update query to fetch new @@Identity
e.Row(CustomerID(0)) = CInt(cmdGetIdentity.ExecuteScalar) e.Row.AcceptChanges() End If
End If
End Sub
End Class
Partial Public Class CustomerTableAdapter
Private Sub _adapter_RowUpdated(ByVal sender As Object, ByVal e As System.Data.OleDb.OleDbRowUpdatedEventArgs) Handles _adapter.RowUpdated AccessIDHelper.SetPrimaryKey(Me.Transaction, e)
End Sub
and this for this code for inserting a new record:
Private Sub cmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSave.Click
If MsgBox("Yes or No", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Dim newOrderDetailsRow As MyDataSet.OrderDetailsRow newOrderDetailsRow =
MyDataSet.OrderDetailsTable.NewOrderDetailsRow()
newOrderDetailsRow.OrderCategory = txtOrderCategory.Text
'newOrderDetailsRow.Discounts = Val(ComboDiscounts.SelectedValue)
newOrderDetailsRow.Region = txtRegion.Text
---------
---------------------------
----------------- etc etc
Me.MyDataSet.OrderDetailsTable.Rows.Add(newOrderDetailsRow)
' Save the new row to the database
Me.OrderDetailsTableAdapter.Update(newOrderDetailsRow) <<<<<<<<<<<<<<<<< Error Here Me.Close()
Dim f As Form = New AddNewOrderDetailsForm
f.Show()
End If
End Sub
I am not able to insert and move on as I am getting the error marked above.
What could be possibly wrong with the above code and why is this giving an error ?? It should work as Beth explains.
Please help.
Sushta GuthnarPosted Jan 1, 2012, 1:41 PM
Thanls,
Shucha
needful