基本上我試圖用getSelectRow的值更新數據庫表。正如你所看到的,查詢找到了正確的數據,但實際上試圖將其添加到數據庫時遇到了很多問題。
錯誤出現在SQL語法中,但我不知道我要出錯的地方。請幫忙。INSERT語句中的未知SQL問題
這是它執行的查詢,但我不知道它爲什麼不更新表。
INSERT INTO customerdetails
FName = 'Tim'
AND SName = 'Cooley'
AND Address = '52 Buckminster Drive Dorridge Solihull West Mids'
AND Postcode = 'B93 8PG'
Java代碼:
private void sendBtnMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int insertRow = newOrderTbl.getSelectedRow();
int col2 = 0;
String sql3 = "INSERT INTO customerdetails VALUES "
+ "FName = '" + newOrderTbl.getValueAt(insertRow, col2) +"'"
+ "AND SName = '" + newOrderTbl.getValueAt(insertRow, col2+1) +"'"
+ "AND Address = '" + newOrderTbl.getValueAt(insertRow, col2+2) +"'"
+ "AND Postcode = '" + newOrderTbl.getValueAt(insertRow, col2+3) +"'";
System.out.println(sql3);
try{
pst = conn.prepareStatement(sql3);
pst.executeUpdate(sql3);
JOptionPane.showMessageDialog(null, "Deleted");
CustomerTable();
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
您有一個SQL注入漏洞。 – SLaks
我知道它的確如此,但這並不重要,因爲這是一個永遠不會在任何地方發佈的個人項目。 錯誤是我需要幫助的。 –
pst.executeUpdate(...)'的返回值是什麼?根據Javadoc的說法,它返回「(1)SQL數據操作語言(DML)語句的行數或(2)0語句不返回任何內容的SQL語句」。 – mthmulders