以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  主键列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161710)

--  作者:seal51
--  发布时间:2021/3/27 18:38:00
--  主键列
SQL数据库,产品表里的产品编号不是自动增量列,不能设置为主键列,是不是必须新增一例,设置为int自动增量列,才可以吗?不能使用自己编写的编号吗?
测试后系统提示:

- 无法修改表。

不能将值 NULL 插入列 \'产品编号\',表 \'cgdata.dbo.Tmp_产品列表\';列不允许有 Null 值。INSERT 失败。

语句已终止。



--  作者:有点蓝
--  发布时间:2021/3/28 20:21:00
--  
可以使用自己的主键。如果不是自动增量列,那么保存前必须给主键列赋值,比如上面的“产品编号”,并且保证值不会重复
--  作者:seal51
--  发布时间:2021/3/29 9:47:00
--  
代码是这个,提示1楼的错误
e.DataRow.Save
e.DataRow("产品ID") = "MS" & Format(e.DataRow("_Identify"), "000000")
e.DataRow.Save

--  作者:有点蓝
--  发布时间:2021/3/29 10:04:00
--  
去掉第一个e.DataRow.Save
--  作者:seal51
--  发布时间:2021/3/29 10:10:00
--  
好的,我想也是这个问题, 不过,加第一个代码是为了网络添加的时候抢这个编号,避免同时录入的时候发生同号!
--  作者:有点蓝
--  发布时间:2021/3/29 10:29:00
--  
不是自增列,没有必要抢,想抢也抢不了,没有意义