Home All Groups Group Topic Archive Search About

Convert Recordset->DataSet losing hidden columns

Author
11 Jan 2006 10:29 AM
Ian Harding
I have some code that uses the OleDbDataAdapter.Fill method to convert
an ADO Recordset to an ADO.NET DataSet.  In some cases the DataSet is
edited - values changed, rows inserted, or deleted - then converted back
to a Recordset to update the database.

No problems doing this against SQL Server, but Oracle seems to track
rows by using a hidden ROWID column.  The Fill method strips out any
column marked rs:hidden="true" in the Recordset source, so ROWID is
lost.  When an attempt is made to update the database, Oracle throws an
error because it can't identify the changed row.

Is there a property I can use on OleDbDataAdapter to make it include
hidden columns in the conversion, but keep them hidden in the resulting
DataSet?  Alternatively, is there a better way of doing this.

By the way, before anyone asks, yes it is necessary to convert
Recordset->DataSet->Recordset because my component is middleware to
connect to an existing server.  The server won't be migrating to .NET
any time soon, so we're stuck with ADO at that tier, but the middleware
is written in .NET to enable .NET clients to interact with the server.

Thanks,
Ian

AddThis Social Bookmark Button