我插入一个值/新行,我需要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,令牌错误=选择]
有什么问题?在我的其他项目中,我使用相同的语法,没有任何问题。试过@@IDENTITY
,也没有工作......
答案 0 :(得分:1)
请参阅this question的答案,了解如何使您的示例正常工作:
您应该更改INSERT以立即返回插入的ID(在OUTPUT子句中)
答案 1 :(得分:0)
您只能在SQL Server Compact中为每个批处理发出一个语句,并且您不能使用Scope_identity,但必须使用@@ IDENTITY(记住在两次调用之间保持连接打开)