执行到ps.executeUpdate();
就不执行了 也不报错
sql语句我添加进相关的值测试了 没有问题 很奇怪
public boolean updateDoctorByAdmin(DoctorPO d,String adminName)
{
System.out.println("updateDoctorByAdmin");
boolean b = true;
DBTools dbtools = new DBTools();
conn = dbtools.getConn();
String sql = "update t_doctor set name=?,password=?,age=?,sex=?,dept_id=?,mobile_phone=?,"+
"office_phone=?,desc_context=?,updated_date=sysdate,updated_man=? "+
"where doctor_id=?";
try {
System.out.println("11111");
ps = conn.prepareStatement(sql);
ps.setString(1, d.getName());
ps.setString(2, d.getPassword());
ps.setInt(3, Integer.parseInt(d.getAge()));
ps.setString(4, d.getSex());
ps.setString(5, d.getDept_id());
ps.setString(6, d.getMobile_phone());
ps.setString(7, d.getOffice_phone());
ps.setString(8, d.getDesc_context());
ps.setString(9, adminName);
ps.setString(10, d.getDoctor_id());
System.out.println("22222");
ps.executeUpdate();
//if(ps.executeUpdate() != 1)
//{
// b =false;
//}
System.out.println("333333");
} catch (Exception e) {
b = false;
e.printStackTrace();
}finally{
dbtools.close();
}
System.out.println("updateDoctorByAdmin "+b);
return b;
}

解决方案 »

  1.   

    updated_date=sysdate?应当错在这里
    就算sysdate是已经定义好的变量但是在
    引号中sql不认识是什么东西.
      

  2.   

    ps.executeUpdate()返回一个正值都是说明执行正确,你改一下
      

  3.   

    可能的原因,你的 SQL 是一个 Update 语句,它有一个事务,如果另一个人正在跑一个耗时的 SQL 的话,可能会锁住表很长时间,特别是你的同事也在用同一个数据库并且在 debug 时停在一个地方让那个事务挂在那里的话,你可能要等十几分钟呢,如果他中午吃饭去了,那你得等他回来。^_^.