日期:2014-05-17  浏览次数:20790 次

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

------解决方案--------------------
id和name是从哪个地方传过来的
用System.out.println()打印跟踪一下
另用id和name哪个好,看你的表设计是咋样的,但是原则是只能修改唯一的一条记录
如果id是主键,name是唯一的,那么用id和name都可以,一般来说,既然是修改,那么之前肯定拿到了id,所以用id比较好
------解决方案--------------------
你id定义的是什么类型的,如果是int等之类的类型,就不用单引号了(单引号是用于字符串的)。你要确保你修改的记录是你想要更新的那一条,所以你要先得到id值。
实际上都可以,不过建议用id,因为如果你id是主键的话,数据库是会建立索引的,查找会比较快点。