String pwd1=(String)session.getAttribute("user");// 获得session中的usid
  String password1=request.getParameter("mm");
  String password2=request.getParameter("qrmm");
  System.out.println(pwd1);
  System.out.println(password1);
  System.out.println(password2);
  if(password1.equals(password2))
  {
    Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String user = "root";
String password = "root";
String url = "jdbc:mysql://localhost/webkj?useunicode=true&characterEncoding=gbk";
conn = DriverManager.getConnection(url, "root", "root");
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

String sql="update t_user set uspwd=? where usid=?";
//Statement stmt = conn.createStatement();
//int success = stmt.executeUpdate(sql);
//Statement stmt = conn.createStatement();
PreparedStatement pstmt= conn.prepareStatement(sql);
pstmt.setString(1,"password1");
pstmt.setString(2,"pwd1");
pstmt.executeUpdate();
总是说我的sql语句错误,我该怎么写啊。

解决方案 »

  1.   

    你用request.getParameter("mm");取出来的值是Object类型的吧,复制给用String型的……有没有问题,试试看
    还有就是,Connection conn放在if里边,下面那个conn会不报错?
      

  2.   

    String pwd1=(String)session.getAttribute("user");// 获得session中的usid
    ------
    LZ: sql语句没错,你的user里面就放了usid吗?
      

  3.   

    恩,ring pwd1=(String)session.getAttribute("user");// 获得session中的usid
    之后的System.out.println(pwd1);
    检验了,pwd1是我想要的值。
      

  4.   

    这样的错误,自己DEBUG一下就是了