IDENTITY_INSERT设置为OFF(找不到错误的位置)

时间:2017-12-05 11:36:38

标签: c#

我正在尝试在Visual Studio 2015中运行我的程序。我在其中创建了一个.mdf数据库和一个表。当我尝试运行它时,我得到以下错误:

cannot insert explicit value for identity column in table tblinfo when IDENTITY_INSERT is set to OFF".

Table

sql connection codes

Stored Procedure

希望有人可以帮助我。感谢。

2 个答案:

答案 0 :(得分:0)

“SET IDENTITY_INSERT”的范围仅基于连接。对于新连接,它将被重置。

这里,如果要将数据插入标识列,则必须先在insert语句之前在存储过程中设置SET IDENTITY_INSERT ON。再次插入数据后,将其设置为ON。插入语句后设置IDENTITY_INSERT OFF。

答案 1 :(得分:-1)

您不应插入IDENTITY列。相反,让SQL Server为您分配值,并使用scope_identity

将其返回到您的应用程序代码
create procedure dbo.addorupdate
...
begin
  if @node = 'add'
  begin
    insert into tblinfo (firstname, lastname, age, gender) values (@firstname, @lastname, @age, @gender)
    return scope_identity()
  end