为什么使用JAVA更新数返0,

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:19:22
try {
con = Untitled1.getConnection();
pstm = con.prepareStatement("update trrjava set sname = ? where sid = ?");

pstm.setString(1,id);
pstm.setString(2,sname);
// pstm.setString(3,saddress);

int i = pstm.executeUpdate();
System.out.println(i);

} catch (Exception ex) {
System.out.println("更新错误"+ex);

}
但如果使用"update trrjava set sname = '姓名'where sid = '001'"时就可以更新呢?

pstm.setString(1,id);
pstm.setString(2,sname);
写颠倒了,应该是
pstm.setString(1,sname);
pstm.setString(2,id);

参数的设置顺序错了
改成:
pstm = con.prepareStatement("update trrjava set sname = ? where sid = ?");

pstm.setString(1,sname);
pstm.setString(2,id);
就好了。
原来是把id给了第一个? 结果是sname=id 而sname给了第二个? id=sname
当然错误了。