What do these .NET auto-generated table adapter commands do? e.g. UPDATE/INSERT followed by a SELECT

Posted by RickL on Stack Overflow See other posts from Stack Overflow or by RickL
Published on 2010-04-08T10:20:07Z Indexed on 2010/04/08 11:13 UTC
Read the original article Hit count: 316

Filed under:
|
|
|

I'm working with a legacy application which I'm trying to change so that it can work with SQL CE, whilst it was originally written against SQL Server.

The problem I am getting now is that when I try to do dataAdapter.Update, SQL CE complains that it is not expecting the SELECT keyword in the command text. I believe this is because SQL CE does not support batch SELECT statements.

The auto-generated table adapter command looks like this...

this._adapter.InsertCommand.CommandText = @"INSERT INTO [Table] ([Field1], [Field2]) VALUES (@Value1, @Value2);
SELECT Field1, Field2 FROM Table WHERE (Field1 = @Value1)";

What is it doing? It looks like it is inserting new records from the datatable into the database, and then reading that record back from the database into the datatable? What's the point of that?

Can I just go through the code and remove all these SELECT statements? Or is there an easier way to solve my problem of wanting to use these data adapters with SQL CE?

I cannot regenerate these table adapters, as the people who knew how to have long since left.

© Stack Overflow or respective owner

Related posts about c#

Related posts about sqlce