DataRow中不刷新自动生成的列

时间:2015-11-09 18:12:25

标签: c# sql-server ado.net

其中一个名为ID的列是自动生成的SQL Server数据库。当我使用SqlDataAdapter.Update(table)插入新行并接受更改SqlDataAdapter.AcceptChanges()时,ID中的table列设置为-1,而非新自动生成的ID值。数据库插入工作和新行将使用顺序自动生成的ID值插入到数据库中。

如何强制SqlDataAdapterSqlDataTable取回正确的ID值?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。供将来参考

operationDBAdapter.InsertCommand.CommandText = "INSERT INTO Operations(operationType,agentID,resetTime,description,enabled,logLevel) VALUES
 (@operationType,@agentID,@resetTime,@description,@enabled,@logLevel); 
**SELECT ID,operationType,agentID,resetTime,description,enabled,logLevel
 FROM Operations WHERE (ID = SCOPE_IDENTITY())**"

插入命令后,只需从同一个表中选择行。