我进行注册的时候,数据无法添加到数据库,老是报插入null值的错
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]不能将值 NULL 插入列 'usersName',表 'FlowerShop.dbo.users';列不允许有 Null 值。INSERT 失败。
表单信息如下:
<FORM name=userinfo ACTION="addUserInfo.jsp" method="post">
<TABLE height=321 cellSpacing=1 cellPadding=2 width="812"
align=center border=0>
<TBODY>
<TR bgColor=#a4ffb8>
<TD colSpan=2>
<DIV align=left>
<FONT color=#4ea3a5><B> </B> </FONT><B><SPAN class=style3>会员注册</SPAN>
</B>
</DIV>
</TD>
</TR>
<TR bgColor=#fcfcfc>
<TD width="24%">
<div align="center">
<FONT color=#cb6f00>用 户 名:</FONT>
</div></TD>
<TD width="76%"><div align="left">
<INPUT id=usersName
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
maxLength=20 name=usersName;> <FONT color=red>*</FONT>中文或英文,请勿有空格
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>密 码:</FONT><FONT color=#cb6f00> </FONT>
</div></TD>
<TD><div align="left">
<FONT color=#cb6f00> <INPUT id=usersPass
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
type=password maxLength=20 name=usersPass;> <FONT
color=red>*</FONT> </FONT>长度必须大于6个字符小于20个字符
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>确认密码: </FONT>
</div></TD>
<TD><div align="left">
<FONT color=#cb6f00> <INPUT id=usersRePass
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
type=password maxLength=20 name=usersRePass;> <FONT
color=red>*</FONT> </FONT>请再次输入密码,以免设置密码出错
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>密码提问:</FONT>
</div></TD>
<TD><div align="left">
<INPUT id=usersPassQuestion
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
name=usersPassQuestion;> 用于密码遗忘时使用,可不填
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>密码答案:</FONT>
</div></TD>
<TD><div align="left">
<INPUT id=usersPassReply
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
name=usersPassReply;> 可不填
</div></TD>
</TR>
<TR bgColor=#a4ffb8>
<TD colSpan=2>
<P>
<FONT color=#4ea3a5><B class=efont> </B> </FONT><B
class=efont><SPAN class=style3>请填写您的个人信息</SPAN> </B><BR>
</P></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD width="24%">
<div align="center">
<FONT color=#cb6f00>真实姓名: </FONT>
</div></TD>
<TD width="76%"><div align="left">
<FONT color=#cb6f00> <INPUT id=usersTrueName
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
name=usersTrueName;> </FONT><FONT color=red>*</FONT>
送花时我们将向接收人说明
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>联系地址:</FONT>
</div></TD>
<TD><div align="left">
<INPUT id=usersAddress
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
size=30 name=usersAddress;> <FONT color=red>*</FONT>
可简单填写,比如安徽.合肥
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>联系电话:</FONT>
</div></TD>
<TD><div align="left">
<INPUT id=usersPhone
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
name=usersPhone;> <FONT color=red>*</FONT>
很重要,请一定正确填写
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD>
<div align="center">
<FONT color=#cb6f00>电子邮件:</FONT>
</div></TD>
<TD><div align="left">
<INPUT id=usersE_mail
style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; BORDER-LEFT: #ffffff 1px groove; COLOR: #333333; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #ffcc66"
name=usersE_mail;> <FONT color=red>*</FONT>
填写您的电子邮箱,方便联系(格式必须是 xxx@xxx.xxx 的形式)
</div></TD>
</TR>
<TR bgColor=#fcfcfc>
<TD align="center" colSpan=2><BR> <input
type="submit" value="提交信息" onClick="return checkuserinfo();">
(带<FONT color=red>*</FONT>为必填项)</TD>
</TR>
</TBODY>
</TABLE>
</FORM> <!-- 表单的结束 --></TD>
表结构是这样的:
这是表单提交到处理页面的代码
<%
try
{
userBean.setUserInfo(userClass);
userBean.addUserInfo();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
public void setUserInfo(UserClass user) {
this.user = user;
}
// 定义向数据库中添加用户注册信息的方法
public void addUserInfo() {
try {
PreparedStatement stmt = conn
.prepareStatement("insert into users values(?,?,?,?,?,?,?,?,?)");
stmt.setString(1, user.getUsersName());
stmt.setString(2, user.getUsersPass());
stmt.setString(3, user.getUsersRePass());
stmt.setString(4, user.getUsersPassQuestion());
stmt.setString(5, user.getUsersPassReply());
stmt.setString(6, user.getUsersTrueName());
stmt.setString(7, user.getUsersAddress());
stmt.setString(8, user.getUsersPhone());
stmt.setString(9, user.getUsersE_mail());
ResultSet rs = stmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
}