update Users set password='"+newpassword+"'where id='"id"'
这个语句id=0说明什么问题,为什么得到的是0
update Users set password='"+newpassword"'where name='"+name+"'
这个语句name=null,说明什么得到的是NULL.
还有这个2个语句哪个要好 

解决方案 »

  1.   

    id和name是从哪个地方传过来的
    用System.out.println()打印跟踪一下
    另用id和name哪个好,看你的表设计是咋样的,但是原则是只能修改唯一的一条记录
    如果id是主键,name是唯一的,那么用id和name都可以,一般来说,既然是修改,那么之前肯定拿到了id,所以用id比较好
      

  2.   

    你id定义的是什么类型的,如果是int等之类的类型,就不用单引号了(单引号是用于字符串的)。你要确保你修改的记录是你想要更新的那一条,所以你要先得到id值。
    实际上都可以,不过建议用id,因为如果你id是主键的话,数据库是会建立索引的,查找会比较快点。