【发布时间】:2014-08-24 17:17:11
【问题描述】:
我正在我的 net beans java 应用程序中执行插入查询。
public boolean Update(){
String sql="insert into customer(cNic,cName,cAddress,cTp,cEmail,creditLimit,CustomerStatus)"
+ "values('"+cs.getcNic()+"','"+cs.getcName()+"','"+cs.getcAddress()+"','"+cs.getcTp()+"'"
+ ",'"+cs.getcEmail()+"','"+cs.getCreditLimit()+"',0) "
+ "ON DUPLICATE KEY UPDATE cName=VALUES(cName), cAddress=VALUES(cAddress), "
+ "cTp=VALUES(cTp), cEmail=VALUES(cEmail), \n" +
"creditLimit=VALUES(creditLimit),CustomerStatus=0;";
try {
Statement stmt=dbConn.createStatement();
int rslt =stmt.executeUpdate(sql);
if(rslt==1){
return true;
}
else{
return false;
}
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex, "DB_CONNECTION ERROR", JOptionPane.ERROR_MESSAGE);
return false;
}
}
此方法适用于新行。
但是当我添加一行(表中已有主键)时,stmt.executeUpdate(sql) 方法返回 2。但表中的数据已更新。但我无法检查插入是否成功。在正常情况下,如果执行成功,它会返回 1。有没有办法在 net beans 中执行此查询并知道它是否已正确更新。
【问题讨论】: