Hello,
I am updating an access database using a dataset. My question is... how come I can add a record to a table that doesn't have a primary key defined, but I cannot update a specified record? Here is the code that I am using...
The above code works perfectly if a primary key is defined in the access table. I also tried substituting MissingSchemaAction.AddWithKey with MissingSchemaAction.Add and this didn't work either.Code:Dim cn As New OleDbConnection(AppSettings("cnString")) Dim da As New OleDbDataAdapter("SELECT * FROM tblEmailAddresses", cn) Dim ds As New DataSet() Dim dv As DataView Dim dr As DataRow da.Fill(ds, "tblEmail") 'check if the customer's email has already been added dv = ds.Tables("tblEmail").DefaultView dv.RowFilter = "Email=" & "'" & strEmail & "'" If dv.Count > 0 Then 'this email was already added dv(0).Item("Promotions") = blnAgree dv(0).Item("Name") = strName Else dr = ds.Tables("tblEmail").NewRow() dr("Name") = strName dr("Email") = strEmail ds.Tables("tblEmail").Rows.Add(dr) End If 'update the Email Address table in the database cn.Open() da.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim cmd As New OleDbCommandBuilder(da) da.Update(ds, "tblEmail")




Reply With Quote