我正在尝试编写一个c#方法来设置身份规范。但它没有用。这是我的代码:
string sql = "SET IDENTITY_INSERT " + table + " ON";
string sql2 = "SET IDENTITY_INSERT " + table + " OFF";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlCommand cmd2 = new SqlCommand(sql2, conn);
conn.Open();
if (identity == true)
{
cmd.ExecuteReader();
}
else
{
cmd2.ExecuteReader();
}
conn.Close();
}
条款"表"和#34;身份"是参数。
我做错了吗?你能帮帮我吗?
非常感谢你!
答案 0 :(得分:1)
问题不在于您的代码,而在于您的逻辑。设置IDENTITY_INSERT
以及lots of other settings是基于每个会话完成的:
Transact-SQL编程语言提供了几个SET语句,更改当前会话处理特定信息。
(强调我的)
只要您的连接关闭,您的会话就会消失,因此设置也会消失。
您需要重构代码以包含IDENTITY_INSERT
的设置,以便它与使用它的代码位于同一会话中。