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

关于用JDBC向数据库插入数据(看代码有错没),该如何解决

2012-02-27 
关于用JDBC向数据库插入数据(看代码有错没)数据库操作:publicbooleaninsert(UserBeanuser){try{Stringsql

关于用JDBC向数据库插入数据(看代码有错没)
数据库操作:
    public   boolean   insert(UserBean   user){
    try{
    String   sql= "insert   into   user(name,password)   values(?,?,?) ";
    preparedStatement=conn.prepareStatement(sql);
    preparedStatement.setString(1,user.getName());
    preparedStatement.setString(1,user.getPassword());
    preparedStatement.setString(3,user.getCompany());
                    int   falg=preparedStatement.executeUpdate();
    if(falg==0){
    return   false;
  }
    }catch(SQLException   e){
    e.printStackTrace();
    return   false;
    }
    return   true;
    }

Action:
public   ActionForward   execute(ActionMapping   mapping,   ActionForm   form,
HttpServletRequest   request,   HttpServletResponse   response)   {
                      UserBean   user=new   UserBean();
                      user.setName(request.getParameter( "name "));
                      user.setName(request.getParameter( "password "));
                      user.setCompany(request.getParameter( "company "));
                      DBManager   db=new   DBManager();
                      if(db.insert(user)){
                      request.setAttribute( "message ", " <script> alert(‘添加成功‘); </script> ");
                      }else{
                      request.setAttribute( "message ", " <script> alert(‘添加失败‘); </script> ");
                      }
                      db.close();
                      return   mapping.findForward( "regist ");
}

[解决办法]
没看大懂,jf

[解决办法]
n p
[解决办法]
String sql= "insert into user(name,password) values(?,?,?) ";
preparedStatement=conn.prepareStatement(sql);
preparedStatement.setString(1,user.getName());
preparedStatement.setString(1,user.getPassword());
preparedStatement.setString(3,user.getCompany());
这段有问题,如果user表中,你只插入name,password字段,怎么values中有3个字段?
而且只有1,3有setString方法……
[解决办法]
同上,这样改:String sql= "insert into user(name,password) values(?,?,?) ";
preparedStatement=conn.prepareStatement(sql);
preparedStatement.setString(1,user.getName());
preparedStatement.setString(2,user.getPassword());


preparedStatement.setString(3,user.getCompany());
这里可以这样写:
UserBean user= (UserBean)form;
DBManager db=new DBManager();
if(db.insert(user)){.......

你这样的写法不好,连接数据库也不好,要改进,加油,兄弟
[解决办法]
String sql= "insert into user(name,password) values(?,?,?) ";
肯定报错啊,插入两个字段,你程序中却有3个?
[解决办法]
或许楼主得意思是
第一个值为自动增加identity

其实,我也不懂
[解决办法]
java技术交流,欢迎加入40652189,深入学习java的qq群,探讨新技术

热点排行