我有一個表,其中包含兩列代碼,其中有所有的條形碼和VARIABLE在開始時初始化爲0。當我掃描條形碼時,我必須更新表格,當我掃描兩次VARIABLE = 2時,我必須添加1到變量。... 我試圖做它,但它不起作用。任何人都可以幫助?更新表SQL
String query = "INSERT INTO TABLE (CODE,VARIABLE) VALUES(?,?) ON DUPLICATE KEY UPDATE VARIABLE='"+VARIABLE+1+"'";
try {
if (connect != null) {
PreparedStatement statement = connect.prepareStatement(query);
statement.setString(1, "%" + res + "%");
statement.setInt(2,VARIABLE);
r=statement.executeQuery();
if (r.next()) {
message = "Updated";
String code = r.getString("CODE");
int var = r.getInt("VARIABLE");
INFOSOMME.setText(message);
INFOSOMME.setText(code);
INFOSOMME.setText(var);
} else {
message = "Error";
INFOSOMME.setText(message);
}
} else {
message = "Error in connection with SQL server";
INFOSOMME.setText(message);
}
} catch (SQLException e) {
etat = false;
message = "Got an exception!";
System.err.println(e.getMessage());
}
}
});
ERROR:9月8日至3日:43:44.966 30393-30393/com.example.practicas.myapplication W/System.err的:Sintaxis incorrecta CERCA德拉言論報釜 'ON'。我試圖改變查詢字符串查詢=「插入到表(代碼,變量)值(?,0);」 +「更新TABLE SET VARIABLE = VARIABLE + 1代碼如何?」;我得到這個錯誤/System.err:executeQuery方法必須返回一個結果集。
如果發生錯誤,發佈錯誤日誌? – akhilesh0707
你試過VARIABLE + 1把()所以(VARIABLE + 1)嗎? – cotnic
給[這個答案](https://stackoverflow.com/a/2718352/469080)一個去,我認爲這是你需要的。基本上'INSERT或IGNORE'你的條形碼,然後'更新'在隨後的聲明中的價值。 –