作者:红烧大青虫 | 来源:互联网 | 2023-05-17 14:18
我执行的操作:insertintobbsmodule(name,parentbbsid,class,degree,dirflag,groupid,moduleclass,writeclass,
我执行的操作:
insert into bbsmodule(name,parentbbsid,class,degree,dirflag,groupid,moduleclass,writeclass,treetype) values('test',0,'managebbs',1,1,1,0,0,1)
数据类型:name,class为"文本",dirflag为"是/否",其他的都是"数字"
显示的错误信息:
microsoft access 不能在追加查询中追加所有记录
microsoft access 设置0字段为Null是因为类型转换失败,它未将0记录添加到表
是因为键值冲突,没有添加0记录是因为锁定冲突,没有添加1记录是因为有效性规
则冲突.
是否执行操作查询?
如果忽略错误并且执行查询,请单击"是".
关于冲突原因的解释,请选择"帮助"按钮.
我刚把系统从SQL转为access,对access不熟悉,所以对以上的错误有些看不明白,这到底是在说什么?
7 个解决方案
语句是没有问题的
你再看看你的表,是不是还有其它的字段,并此字段是不能为NULL的,而你又没有插值进去。
bbsmodule表中还有其他字段吗??
应该有id吧,
在sql中设置为标识就可以的
在access中要设置为自动编号
你可以用RecordSet的addnew方法试一下
表bbsmodule中还存在以下字段
id;int;ident;版块ID,//已设为自动编号
groupid;int;NOE;def:1;文件夹或文档版块最终的显示顺序号.
ordernum;tinyint;NOE;def:1;版块的显示顺序
managers;varchar;50;NOE;def:'';版主的userID串,以逗号间隔.
description;varchar;2000;NOE;def:'';版块说明,由版主来写。
sumcount;int;NOE;def:0;版块中的记录总数
没有插入值的字段中都设置了默认值,在SQL中是可以自动插入的,在ACCess中不行吗?
另,我即使把这些字段以默认值写入到sql语句中,也是报同样的错!
insert into bbsmodule(name,parentbbsid,class,degree,dirflag,groupid,moduleclass,writeclass,treetype) values('test',0,'managebbs',1,1,1,0,0,1) where id=null;
报错:
sql语句的结束位置缺少分号(;)。
使用RecordSet的addnew方法解决
谢谢各位了