我試圖發送SQL語句編寫到MySQL數據庫。這是我有:語法錯誤在WHERE子句近「?)AND(日期=?)」
String sql1 = "SELECT idReimbursed_Funds As idReimFunds FROM reimbursedfunds Where ReimFundsName = ? AND Date = ?";
PreparedStatement pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, reimfund.getReimFundsName());
pstmt1.setDate(2, (Date) reimfund.getDate());
ResultSet rs1 = pstmt1.executeQuery(sql1);
while(rs1.next()){
idReimFunds = rs1.getInt("idReimFunds");
}
谷歌搜索這個問題後,我發現解決方案,以使用周圍的問號括號或整個where子句,如:
String sql1 = "SELECT idReimbursed_Funds As idReimFunds FROM reimbursedfunds Where (ReimFundsName = ?) AND (Date = ?)";
這並沒有工作,雖然。我得到了與我的原始代碼相同的錯誤消息:
「您的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以獲取正確的語法以在'?'附近使用)AND(日期=?)'在第1行。
當我嘗試SQL語句在MySQL Workbench工作正常。有沒有辦法使用2 where JDBC子句?我知道在其他職位人們已經回答說,它必須被作爲兩個不同的查詢,但我想我會問以防萬一別人讀取這個職位和的一種方式。謝謝你!
是的,就是這樣。謝謝。現在問題解決了! – teppuus