SQL语句不执行问题!请高手指点

LKJAVA 2009-04-26 02:48:58
请大家帮忙看一下我下面的这个方法调用。执行了之后,程序不报任何错误,但是数据库中的数据没有更新。一直找不到原因请高手指点一下!
User u = new User();
String phone = umaf.getPhone();
String addr = umaf.getAddr();
try {
u.setPhone(phone);
u.setAddr(addr);
u.update();
} catch (Exception e) {
System.out.println("更新失败!");
e.printStackTrace();
return mapping.findForward("error");
}
中间调用的update()方法如下:
public void update(){
Connection conn = DB.getConn();
String sql = "update ruser set phone = ?, addr = ? where id = ?";
PreparedStatement pstmt = DB.prepare(conn, sql);
try {
// System.out.println(phone);
// System.out.println(addr);
// System.out.println(id);
pstmt.setString(1, phone);
pstmt.setString(2, addr);
pstmt.setInt(3, id);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
DB.close(pstmt);
DB.close(conn);
}
}

System.out.println(phone);
System.out.println(addr);
System.out.println(id);
输出也正常 但是数据库就是不更新!
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
JamesLiu 2009-04-26
  • 打赏
  • 举报
回复
通过断点调试
taofan911 2009-04-26
  • 打赏
  • 举报
回复
如果你上面说的你改了好使,可能是你DB类有毛病
taofan911 2009-04-26
  • 打赏
  • 举报
回复
PreparedStatement pstmt = DB.prepare(conn, sql);
这个下面加上一个pstmt=conn.prepareStatement(sql); 你看看
可能是我说这个地方造成的
leohe666 2009-04-26
  • 打赏
  • 举报
回复
conn.commit一下 看看
LKJAVA 2009-04-26
  • 打赏
  • 举报
回复
还是不明白,请说的细一点好吗?
Ghost_520 2009-04-26
  • 打赏
  • 举报
回复

你的 sql 对象传入到 PreparedStatement pstmt = DB.prepare(conn, sql); DB 类里面,但是 set ? 的时候是在 update 里面 设置值的 ,

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧