在 C# 程序中,我需要将数据从我的数据库复制到第 3 方数据库。我正在生成一个客户编号并将其(与其他数据)插入到第 3 方数据库中。
我是唯一一个写信给那张 table 的人。他们的数据库已经建立,他们不能/不会重建表。因此,他们在他们的表 (qbCUST
) 上设置了一个自动增量。我需要绕过这个。
我找到了以下帖子 How to put SET IDENTITY_INSERT dbo.myTable ON statement .我对用法有点不清楚。接受的答案是这个代码片段:
using (var connection = new SqlConnection("Connection String here"))
{
connection.Open();
var query = "SET IDENTITY_INSERT dbo.MyTable ON; INSERT INTO dbo.MyTable (IdentityColumn) VALUES (@identityColumnValue); SET IDENTITY_INSERT dbo.MyTable OFF;";
using (var command = new SqlCommand(query, connection)
{
command.Parameters.AddWithValue("@identityColumnValue", 3);
command.ExecuteNonQuery();
}
}
我不应该先关闭标识插入吗?
最佳答案
没有; SET IDENTITY_INSERT ... ON
表示您正在控制IDENTITY
;将它设置为 OFF
意味着您正在将控制权交还给数据库。写的是正确的。默认值为 OFF
,这意味着您不能插入到 IDENTITY
列中。
关于c# - C# 中的 SET IDENTITY_INSERT 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37878528/