问题描述
- struts2注册问题,能正常跳转,但是数据无法进入数据库
-
public class RegisterDao {
public boolean hasName(String vip_loginname,String vip_password,String vip_sex){Connection conn= ConnectionUtil.getConnection(); try{ PreparedStatement pstm=conn.prepareStatement("select * from vip_info where vip_loginname='"+vip_loginname+"'"); ResultSet rs=pstm.executeQuery(); if(rs.next()){ return true; }else { String sql="insert into vip_info(vip_loginname,vip_password,vip_sex) values ('"+vip_loginname+"','"+vip_password+"','"+vip_sex+"')"; pstm=conn.prepareStatement(sql); pstm.setString(1, vip_loginname); pstm.setString(2,vip_password ); pstm.setString(3, vip_sex); int check=pstm.executeUpdate(); if(check!=0){return false;} else return true; } }catch(SQLException e){ e.printStackTrace(); }
return false;
}
解决方案
既然你直接拼接sql了,就不需要下面准备参数了,这三个变量对不对
解决方案二:
public String execute()throws Exception{
RegisterDao regdao=new RegisterDao();
if(regdao.hasName(vip_loginname,vip_password,vip_sex)){
return "error";
}else return "success";
这是action页面
解决方案三:
你用的是PreparedStatement,所以你的sql语句应该是:insert into vip_info(vip_loginname,vip_password,vip_sex) values (?,?,?)
解决方案四:
你用的是PreparedStatement,所以你的sql语句应该是:insert into vip_info(vip_loginname,vip_password,vip_sex) values (?,?,?)
时间: 2022-12-18