首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

为什么页面上的数据不能插入到数据库中?郁闷中,如何办?

2011-12-14 
为什么页面上的数据不能插入到数据库中?郁闷中,怎么办?~~~YongZhuCe.javapackagecheckimportjava.sql.*i

为什么页面上的数据不能插入到数据库中?郁闷中,怎么办?~~~
YongZhuCe.java

package   check;
import   java.sql.*;
import   check.DBConnectionManager;
import   javax.servlet.http.HttpServletRequest;

public   class   YongZhuCe   extends   DataBase
{
private   javax.servlet.http.HttpServletRequest   request;

private   String   message   =   " ";
private   String   username   =   " ";
private   String   password   =   " ";
private   String   pwdconfirm   =   " ";
private   String   email   =   " ";
private   String   sex   =   " ";
private   String   realname   =   " ";
private   String   phone   =   " ";
private   String   address   =   " ";

public   YongZhuCe()  
        {
        super();
        }
       
       
       
        public   boolean   getRequest(javax.servlet.http.HttpServletRequest   newrequest)
        {
        boolean   flag   =   false;
       
        try
        {
        request   =   newrequest;
       
        username   =   request.getParameter( "username ");
        if(username   ==   null   ||   username.equals( " "))
        {
        username   =   " ";
        message   =   message   +   "用户名为空! ";
        }
        byte   A[]   =   username.getBytes( "ISO8859-1 ");
        username   =   new   String(A);
       
       
        password   =   request.getParameter( "passwd ");
        if(password   ==   null   ||   password.equals( " "))
        {
        password   =   " ";
        message   =   message   +   "密码为空! ";
        }
        pwdconfirm   =   request.getParameter( "pwdconfirm ");
        if(!password.equals(pwdconfirm))
        {
        message   =   message   +   "确认密码不相同! ";
        }
        byte   B[]   =   password.getBytes( "ISO8859-1 ");
        password   =   new   String(B);
       
       
        email   =   request.getParameter( "email ");
        if(email   ==   null   ||   email.equals( " "))


        {
        email   =   " ";
        message   =   message   +   "电子信箱为空! ";
        }
        byte   C[]   =   email.getBytes( "ISO8859-1 ");
        email   =   new   String(C);
       
       
        sex   =   request.getParameter( "sex ");
        byte   D[]   =   sex.getBytes( "ISO8859-1 ");
        sex   =   new   String(D);
       
       
        realname   =   request.getParameter( "realname ");
        if(realname   ==   null)
        {
        realname   =   " ";
        }
        byte   E[]   =   realname.getBytes( "ISO8859-1 ");
        realname   =   new   String(E);
       
       
        phone   =   request.getParameter( "phone ");
        if(phone   ==   null)
        {
        phone   =   " ";
        }
        byte   F[]   =   phone.getBytes( "ISO8859-1 ");
        phone   =   new   String(F);
       
       
        address   =   request.getParameter( "address ");
        if(address   ==   null)
        {
        address   =   " ";
        }
        byte   G[]   =   address.getBytes( "ISO8859-1 ");
        address   =   new   String(G);
       
       
        if(message.equals( " "))
        {
        flag   =   true;
        }
        return   flag;
        }
        catch(Exception   E)
        {
        return   flag;
        }
        }
       
       
        public   boolean   insert(HttpServletRequest   req)   throws   Exception
        {
        if(getRequest(req))
        {
        try
        {
        sqlStr   =   "select   *   from   Registration   where   UserName   =   ' "   +   username   +   " ' ";


        rs   =   stmt.executeQuery(sqlStr);
       
        if(rs.next())
        {
        message   =   message   +   "该用户已经存在! ";
        rs.close();
        return   false;
        }
       
        sqlStr   =
        "insert   into   Registration(UserName,   PassWord,   Email,   Sex,   RealName,   Phone,   Address)values( ' "   +   username   +   " ',   ' "   +   password   +   " ',   ' "   +   email   +   " ',   ' "   +   sex   +   " ',   ' "   +   realname   +   " ',   ' "   +   phone   +   " ',   ' "   +   address   +   " ') ";
        //stmt.executeUpdate(sqlStr);   //我不知道是否需要加这句,现已屏蔽。
        rs.close();
        //stmt.close();
        return   true;
        }
        catch(NullPointerException   N)
        {
        System.out.println(N);
        }
        }
        else
        {
        return   false;
        }
       
        return   true;
        }
       
       
        public   void   setMessages(String   newmsg)
        {
        message   =   newmsg;
        }
        public   String   getMessage()
        {
        return   message;
        }
       
       
        public   void   setUsername(String   newname)
        {
        username   =   newname;
        }
        public   String   getUsername()
        {
        return   username;
        }
       
       
        public   static   void   main(String   args[])
        {
        YongZhuCe   yzc   =   new   YongZhuCe();  
        }
}

*************************************************************************
reg.jsp
<%
String   mesg   =   " ";     //声明   mesg
String   submit   =   request.getParameter( "Submit ");     //声明   submit,将按钮   Submit   中的信息传给   submit



if(submit   !=   null   &&   !submit.equals( " "))     //如果   submit   内的值不为空的话
{
if(userReg.insert(request))     //如果   request   中的值在缓存   user   中存在的话
{
session.setAttribute( "username ",userReg.getUsername());     //获取   UserName   中的值,并存入   username   中
response.sendRedirect( "RegSucceed.jsp ");     //转至注册成功页面
}
else   if(!userReg.getMessage().equals( " "))     //否则如果获取的   Message   不为空的话
{
mesg   =   userReg.getMessage();     //将获取的   Message   中的值传给   mesg
}
else     //否则为空的话
{
mesg   =   "注册时出现错误,请稍后再试! ";     //将错误信息传给   mesg
}
}
%>

YongZhuCe.java   文件通过了,没有出现错误,reg.jsp文件也通过了,同样没有错误。在页面中输入数据按“确定”后可成功跳转到另一个页面,可是那些数据却不能插入到数据库中。没有报任何的错误信息。请问我是错哪了?请高手帮帮我,我该如何是好?谢谢~~~~

附:数据源早就设好了,Registration   为表名,UserName,   PassWord,   Email,   Sex,   RealName,   Phone,   Address   这些是字段名
开发工具:JDK   V1.4.2.04   +   Tomcat   V5.0.28,   Microsoft   SQL   Server   2000

[解决办法]
connection可重复使用,但是处理命令和预处理命令一次数据库语句执行就得定义一次。。。
不然文件通过,不提示错误,但是那一句SQL却不执行,呵呵,
sqlStr =
"insert into Registration(UserName, PassWord, Email, Sex, RealName, Phone, Address)values( ' " + username + " ', ' " + password + " ', ' " + email + " ', ' " + sex + " ', ' " + realname + " ', ' " + phone + " ', ' " + address + " ') ";
//stmt.executeUpdate(sqlStr);
再定义一个stmt1来用
[解决办法]
恭喜你,答对了,加10分,剩下的是我的
[解决办法]
关注

热点排行