I'm doing a database project with accdb 2010, and VB.net 2010.
It's working fine reading and updating the dataset and database, but I can't add a new row. Here's the code, it come up with this error: "NullReferenceException was unhandled. Object reference not set to instance of an object" on the line that reads "DataSetNewRow = DataSet.Tables("CustomerDatabase").NewRow".
Dim Connection As New OleDb.OleDbConnection
Dim dbProvider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password=cSSO3sEEhrM4vY3je0qC;" 'connect to the access 2010 database, including DB Password
Dim dbSource As String = "Data Source = CourseworkDatabase.accdb" 'at this path
Dim DataSet As New DataSet
Dim Sql As String
Dim DataAdapter As New OleDb.OleDbDataAdapter
Dim inc As Integer
Dim temp As String
Dim CommandBuilder As New OleDb.OleDbCommandBuilder(DataAdapter)
Dim DataSetNewRow As DataRow
DataSetNewRow = DataSet.Tables("CustomerDatabase").NewRow
DataSetNewRow.Item("FirstName") = HomeScreen.txtCustID.Text
DataSetNewRow.Item("Surname") = HomeScreen.txtCustFName.Text
DataSetNewRow.Item("Landline") = HomeScreen.txtCustLLine.Text
DataSetNewRow.Item("Mobile") = HomeScreen.txtCustMob.Text
DataSetNewRow.Item("Email") = HomeScreen.txtCustEmail.Text
DataSetNewRow.Item("Address1") = HomeScreen.txtCustAdd1.Text
DataSetNewRow.Item("Address2") = HomeScreen.txtCustAdd2.Text
DataSetNewRow.Item("City") = HomeScreen.txtCustAddCi.Text
DataSetNewRow.Item("County") = HomeScreen.txtCustAddCo.Text
DataSetNewRow.Item("Postcode") = HomeScreen.txtCustPCode.Text
DataSet.Tables("CustomerDatabase").Rows.Add(DataSetNewRow)
DataAdapter.Update(DataSet, "CustomerDatabase")
DataSetNewRow = DataSet.Tables("OrderDatabase").NewRow
DataSetNewRow.Item("DateCreated") = HomeScreen.dtpOrderCreate.Text
DataSetNewRow.Item("DateTBC") = HomeScreen.dtpOrderTBC.Text
DataSetNewRow.Item("Delivery") = HomeScreen.chkOrderDel.CheckState
DataSetNewRow.Item("DeliveryDate") = HomeScreen.dtpOrderDDate.Text
DataSetNewRow.Item("Description") = HomeScreen.txtOrderDesc.Text
DataSetNewRow.Item("Frame") = HomeScreen.chkOrderFrame.CheckState
DataSetNewRow.Item("Type") = HomeScreen.cmbOrderType.Text
DataSetNewRow.Item("Size") = HomeScreen.cmbOrderSize.Text
DataSetNewRow.Item("Height") = HomeScreen.txtOrderH.Text
DataSetNewRow.Item("Width") = HomeScreen.txtOrderW.Text
If HomeScreen.cmbOrderUnits.Text = "in" Then
DataSetNewRow.Item("Inches") = "True"
Else
DataSetNewRow.Item("Inches") = "False"
End If
DataSetNewRow.Item("Price") = HomeScreen.txtOrderPrice.Text
DataSet.Tables("OrderDatabase").Rows.Add(DataSetNewRow)
DataAdapter.Update(DataSet, "OrderDatabase")
MsgBox("New customer and order added to the database!")
End Sub
Let me know if I'm doing something stupid, or missing something! All the fields in both tables are added to, except the Customer and Order ID fields, which are set to autonumber in the accdb. Maybe this is the problem, if so, what do I have to do?
Thank you!

New Topic/Question
Reply




MultiQuote




|