I'm trying to handle concurrency updating errors in my app - vb.net 2003,
ado.net 1.1.
I have a datatable with the data the user pulled and then changed ("dtMain")
and another that I filled after the updates failed, with the most current
data in the database ("dtConflict").
I am allowing the user to decide on a row-by-row basis how to handle the
update.
When I try to merge a particular row's current values (from "dtConflict")
into the main table ("dtMain") nothing is happening. Here is the code (I
added dtMain to a dataset "dsBig" in order to access the Merge method, which
is still unavailable to me on a datatable as I'm in ado.net 1.1):
Dim row As DataRow = CType(objCurrencyManager.Current, DataRowView).Row
Dim rowConflict As DataRow = dtConflicts.Rows.Find(row(0))
if blnPreserve = True then
dsBig.Merge(New DataRow() {rowConflict}, True,
MissingSchemaAction.Ignore)
else
dsBig.Merge(New DataRow() {rowConflict})
end if
row.ClearErrors()
The merge does not throw an exception but neither does it get the new
values.
This code is basically taken from David Sceppa's Microsoft ADO.NET (Core
Reference).