我想更新表中存在该行ID的行,如果表中没有ID,则插入新行。为此,请使用以下代码尝试验证表中存在的每一行,但它对我不起作用。代码总是报告该行存在,并且我的代码总是插入一个新行(而不是在行已存在时更新):
String sqlVerif="select * from calcul where idproduit="+codeP+" and EXTRACT(MONTH FROM date)="+MonthStock;
ResultSet duplicateExists =stmt.executeQuery(sqlVerif);
System.out.println(duplicateExists);
if(duplicateExists.next()){
System.out.println("je suis ici update");
String sqlUpdate="UPDATE calcul set inventaire="+(this.GetInventaire(codeP))+(quantite)+",quantite="+this.GetQuantiteStock(codeP)+(quantite)+" where idproduit="+codeP+" and EXTRACT(MONTH FROM date)="+MonthStock;
stmt.executeUpdate(sqlUpdate);
}
else{
System.out.println("je suis ici insert");
String sql1="INSERT INTO calcul (idproduit,inventaire,consomation,date,quantite,designation) "
+ "VALUES ('"+codeP+"',"+newQuant+","+0+",'"+datestock+"',"+newQuant+",'"+designation+"' );";
stmt.executeUpdate(sql1);
}