插入行并获取Id,得到错误

本文关键字:错误 Id 获取 插入 | 更新日期: 2023-09-27 18:16:38

我插入一个值/新行,我需要ID,但我得到一个错误…

SQL代码:

INSERT INTO [StoneTable] ([StoneName]) VALUES (@StoneName)
SELECT SCOPE_IDENTITY()

使用以下代码插入行并获取ID:

stoneTableTableAdapter = new StoneTableTabelleTableAdapter();
int id = Convert.ToInt32(stoneTableTableAdapter.InsertStoneNameAndReturnId("anything"));
//And on this 2nd Line I got an error

错误信息:

解析查询出错。[令牌行号= 2,令牌行偏移量= 1,令牌出错= SELECT]

有什么问题吗?在我的另一个项目中,我使用相同的语法,没有问题。试过@@IDENTITY,也不工作....

插入行并获取Id,得到错误

关于如何使您的示例工作的建议,请参阅这个问题的答案:

您应该更改INSERT以立即返回插入的ID(在OUTPUT子句中)

在SQL Server Compact中,每批只能发出一条语句,并且不能使用Scope_identity,但必须使用@@IDENTITY(记住在两个调用之间保持连接打开)