日期:2014-05-18  浏览次数:20734 次

关于UPDATE的SQL语句问题
我写了个update的sql语句来进行密码修改,但是感觉语句是没错的,但不知道为什么就是不能执行修改操作

语句:

String   password   =   new   String(request.getParameter( "password2 ").getBytes( "ISO8859_1 "), "GBK ");//取得表单文本域
          if   (request.getParameter( "password1 ").equals(password))
{
    String   username   =   (String)session.getAttribute( "login ");
                  String   sql1= "UPDATE   login   SET   passwd= ' "+password+ " '   WHERE   username= ' "+username+ " ' ";  
sqlbean.executeUpdate(sql1);
out.println( "密码修改成功 ");
}
else
        {out.println( "您两次输入的密码不一致,请重新输入 ");}

------解决方案--------------------
用out.println(password2);
out.println(password1);
out.close();
看下两个密码是不是一样不就知道了。
------解决方案--------------------
request.getParameter( "password1 ").equals(password)

这个地方你返回false了

password 是你转码之后的了,比较的时候应该都是没有转码的,或者都是转码的
------解决方案--------------------
String password = new String(request.getParameter( "password2 ").getBytes( "ISO8859_1 "), "GBK ");//取得表单文本域
if (request.getParameter( "password1 ").equals(password))
{
一个转码一个没有转码 这样会出问题的
------解决方案--------------------
正解