c# *** 作数据库 增添数据 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'RouteY' 中的标识列插入显式值.

c# *** 作数据库 增添数据 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'RouteY' 中的标识列插入显式值.,第1张

id列是标识列,不能insert/update其值,把语句中的id字段去掉就行

如果是数据导入要导id值,那么需要先设置允许更新指定表的标识字段的值,具体方法请参考帮助文档中关于 set identity_insert 的相关信息

代码如下:

--创建测试表

CREATE TABLE [Identity](

Id INT IDENTITY(1,2) NOT NULL PRIMARY KEY,--种子的起始值1,步长2

Number VARCHAR(20) UNIQUE NOT NULL,

Name VARCHAR(20) NOT NULL,

Password VARCHAR(20) DEFAULT(123),

Description VARCHAR(40) NULL

)

--插入记录

INSERT INTO [Identity](Number,Name,Description) VALUES('001','1st','Id=1,因为起始值1')

INSERT INTO [Identity](Number,Name,Description) VALUES('002','2nd','Id=3,因为起始值1,步长2')

INSERT INTO [Identity](Number,Name,Description) VALUES('003','3rd','Id=5,由于字符长度超长,报错插入失败,造成此Id产生后被放弃')

INSERT INTO [Identity](Number,Name,Description) VALUES('004','4th','Id=7 not 5,因为第三条记录插入失败')

--检索记录,查看结果

SELECT FROM [Identity]

再说得细一点儿吧 如果你想修改收发记录的最大单据号 要先上你对应帐套对应年度的数据库中查找Rdrecord表和Rdrecords表,把其中的列名为ID的最后一条记录的值记下来,然后去Ufsystem库中找到UA_Identity表,在cAccid列中选择对应的帐套,然后找cVouchType列中找到对应的Rd,将该条记录对应的iFatherID值改为Rdrecord表的ID最大号,iChildID更改为对应的Rdrecords的AutoID号,就可以了

如提示所示啊,你导入的表中有标识列,标识列只有IDENTITY_INSERT 为 ON 时

才能显示的添加,你在select 中把改成列名,去掉标识列就可以了

如果是需要添加的,那么用set IDENTITY_INSERT cangchuchayi on

来打开开关,但是需要显示指定列名,即insert into 表(列名1)

插入后用off关闭

以上就是关于c# *** 作数据库 增添数据 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'RouteY' 中的标识列插入显式值.全部的内容,包括:c# *** 作数据库 增添数据 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'RouteY' 中的标识列插入显式值.、怎样用SQL向数据库中批量的插入数据,主键是随机生成的、谁能帮我解释一下用友数据库表UA_Identity(单据编号生成控制表)中cVouchType的值的意思。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9313548.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存