关于用JDBC向数据库插入数据(看代码有错没),该如何解决
关于用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());
数据库操作:
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());