access 插入数据时候允许为空值

Ray_Adon 2009-11-05 09:16:54
set rs=server.createobject("adodb.recordset")
rs.open "select * from song_Productparameter",conn,1,3
rs.addnew
rs("od")=request("od")

request("od")是一个表提交过来值,如果提交时候没有填写该值,就会报错:类型不匹配。

现在的问题是 : 1 我现在解决的办法是前面加判断才能解决,非得这样么
if request("od")<>"" then rs("od")=request("od")
2 我的access好像没有允许为空的这个字段属性,只有是否必填,但是否必填已经是“否”的状态。

看看能不能帮忙解决下这个问题
...全文
695 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ray_Adon 2009-11-06
  • 打赏
  • 举报
回复
谢谢各位的帮助。
参考1#的提示找到了问题所在,文本型字段有“允许空值”属性,选择了文本型就可以不加判断。
ACMAIN_CHM 2009-11-05
  • 打赏
  • 举报
回复
[Quote]现在的问题是 : 1 我现在解决的办法是前面加判断才能解决,非得这样么
if request("od") <>"" then rs("od")=request("od")[/Quote]

关键是你是不是为NULL,而为 "" ,“”不是空,所以无法直接限制。不过字段属性中有是否允许0长度字符串,你可以设置一下。

[Quote] 2 我的access好像没有允许为空的这个字段属性,只有是否必填,但是否必填已经是“否”的状态。[/Quote]
这个属性就是 not null 相关的设置。
changechange 2009-11-05
  • 打赏
  • 举报
回复
你的问题完全是 asp 问题。
看一下原因,如果客户端没有提交数据,而数据库里面该字段是数字,则会出现以下问题

rs("数字字段")=request("od")

rs("数字字段")=""
你将字符赋给数字字段,当然类型不匹配咯。
所以 if request("od") <>"" then rs("od")=request("od") 是必须的。




我的access好像没有允许为空的这个字段属性,只有是否必填,但是否必填已经是“否”的状态。
--------ACCESS设计表界面中,字段包含两个属性 “允许零长度字符串”(允许空) 和 “必填”(允许 null) 两种,请分清楚!



如何更改表的某字段的属性(如允许空字符/必填)Null 值与零长度字符串的区别《表》
http://access911.net/index.asp?u1=a&u2=73FABF1E1BDC







--911--
suxiuhai 2009-11-05
  • 打赏
  • 举报
回复
if request("od") <>"" then rs("od")=request("od")?

可以对rs("old")进行赋值么?
感觉好像不行,当你这样赋值完之后,重新调用rs("old")的数值时,应该还是原来的值。
wwwwb 2009-11-05
  • 打赏
  • 举报
回复
1、无论哪种方式,都要判断,因为你的表设置了不能为空
2、有允许为空的属性,文本型.ACCESS版本,是否完全安装

7,730

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧