标题:无法将 NULL 值插入列 'E_mail',表 'friend.dbo.userInfor';该列不允许空 ...
取消只看楼主
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
 问题点数:0 回复次数:3 
无法将 NULL 值插入列 'E_mail',表 'friend.dbo.userInfor';该列不允许空值。INSERT 失败。
我在用JSP+JavaBean做一个网页注册页面。遇到问题,请教各位强人!

执行预处理插入语句state.executeUpdate();时,不能通过!
错误提示如题目!数据表userInfor(在数据库friend中)的E_mail列并没有设置为允许为空,
且能够执行到state.setString(4, regInfor.getE_mail());这里,下面就错误提示如题目了!!!

不知道是什么原因??
搜索更多相关主题的帖子: INSERT friend NULL dbo userInfor 
2008-04-02 16:26
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
回复 2# 的帖子
经过了在不同的地方设置的测试,确实是JSP中的变量没有传到JavaBean里!
谢谢!!!
2008-04-02 18:56
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
回复 4# 的帖子
没有值!
2008-04-03 10:58
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
知道错误在那里了!!
后来经朋友的帮忙,才发现是我把设置setProperty标签属性值的三种语法格式搞混淆了!书上有啊,我都没有看仔细,哎!!!

下面缉拿但说下设置setProperty标签属性值的三种语法格式

设置setProerty标签属性的三种语法格式比较
1.通过表达式或字符串设置
<jsp:setProperty name="beanName" Property="PropertyName" value="<%=exprossion%>|字符串" />
注意:value的值就是传到JavaBean里面的值了,相当于直接给对应的JavaBean中的属性“赋值”。另

外若是<%=exprossion%>的话,还是可以接受表单中提交的值的。

2.通过HTTP表单的参数值设置
<jsp:setProperty name="beanName" property="*" />
注意:这里用*,表示不再具体指定JavaBean属性的值将对应表单中的哪个参数,系统会自动根据和名

字进行匹配,但呀十分注意的是,表单中参数的名字必须和JavaBean中的属性名字完全相同。
这样做的好处显而易见,当表单中要提交的参数过多时,可以简化代码。
另外,不要*的话,可以用<jsp:setProperty name="beanName" property="PropertyName"

param="paramName" />

3.通过内置对象request提取的参数设置
<jsp:setProperty name="beanName" property="PropertyName" param="paramName" />
注意:这样做的缺点是,增添了很多冗余的代码。既要用request.getParameter("PropertyName")提取

表单中的参数,又要一个一个的setProperty。

建议表达中参数过多时,采用第二种方法设置setProerty属性的值!!
2008-04-03 11:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-206773-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.185610 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved