如何获取insert查询的id?简单:
insert into Ex(sth) values("value");
select @@identity不起作用。当我尝试选择或任何其他错误时,我得到异常:{“分析查询时出错。令牌行号= 3,令牌行偏移量= 95,错误中的令牌= ExecuteScalar "}。
我提醒一下,这是CE版本。我正在使用MSVS2010
谢谢你的帮助。
发布于 2010-10-19 08:20:26
.Net SQL客户端不支持多个语句。
您需要使用两个单独的SqlCeCommand。
发布于 2011-07-12 15:39:59
TableAdapter (.NET 4)仅在命令执行前关闭连接时,才会在命令执行后关闭连接。所以使用类似这样的东西:
try
{
if (_tasksAdapter.Connection.State != ConnectionState.Open)
_tasksAdapter.Connection.Open();
_tasksAdapter.InsertNew(_partitionedFile.Uid, _partitionedFile.Checksum);
_dbId = (int)_tasksAdapter.GetIdentity().Value;
}
finally
{
if (_tasksAdapter.Connection.State != ConnectionState.Closed)
_tasksAdapter.Connection.Close();
}其中方法InsertNew执行INSERT命令,GetIdentity()方法执行SELECT @@IDENTITY。
https://stackoverflow.com/questions/3964501
复制相似问题