其中一个名为ID
的列是自动生成的SQL Server数据库。当我使用SqlDataAdapter.Update(table)
插入新行并接受更改SqlDataAdapter.AcceptChanges()
时,ID
中的table
列设置为-1
,而非新自动生成的ID
值。数据库插入工作和新行将使用顺序自动生成的ID
值插入到数据库中。
如何强制SqlDataAdapter
或SqlDataTable
取回正确的ID
值?
答案 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())**"
插入命令后,只需从同一个表中选择行。