加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#中的SET IDENTITY_INSERT用法

发布时间:2020-12-15 23:33:31 所属栏目:百科 来源:网络整理
导读:在C#程序中,我需要将数据从我的数据库复制到第三方数据库.我正在生成客户编号并将其(包含其他数据)插入第三方数据库. 我是写这张桌子的唯一人.他们的数据库已经构建,他们不能/不会重建表.因此,他们在桌面上设置了自动增量(qbCUST).我需要绕过这个. 我发现以
在C#程序中,我需要将数据从我的数据库复制到第三方数据库.我正在生成客户编号并将其(包含其他数据)插入第三方数据库.

我是写这张桌子的唯一人.他们的数据库已经构建,他们不能/不会重建表.因此,他们在桌面上设置了自动增量(qbCUST).我需要绕过这个.

我发现以下帖子How to put SET IDENTITY_INSERT dbo.myTable ON statement.我对使用情况有点不清楚.接受的anwser是这段代码:

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();
    }
}

我不应该首先将身份插入OFF吗?

解决方法

没有; SET IDENTITY_INSERT … ON表示您正在控制IDENTITY;将其设置为OFF意味着您将控制权交还给数据库.这是正确的写作.默认值为OFF,表示您无法插入IDENTITY列.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读