自动生成的列不会在DataRow中刷新

本文关键字:DataRow 刷新 自动生成 | 更新日期: 2023-09-27 18:21:10

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

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

自动生成的列不会在DataRow中刷新

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

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())**"

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