2
考慮下面的代碼:爲什麼我無法使用預處理語句來更新數據庫?
String updatestmt = "UPDATE marketplaces.amazon_merchant_fulfilled_orders SET order_status = ? WHERE amazon_order_id=?;";
Connection conn = connectToDatabase();
PreparedStatement pstInsert = conn.prepareStatement(updatestmt);
pstInsert.setString(1, orderId);
pstInsert.setString(2, status);
try {
int rowsAffected = pstInsert.executeUpdate();
System.out.println("Updated " + rowsAffected + " Line(s).");
...
當執行這段代碼,rowsAffected
總是0
。
如果我改變updatestmt到:
"UPDATE marketplaces.amazon_merchant_fulfilled_orders SET order_status = '"+status+"' WHERE amazon_order_id='"+orderId+"';";
並取出pstInsert.setString
調用代碼工作正常。
我的問題是爲什麼我無法使用預處理語句來更新我的數據庫?
平臺:在PostgreSQL 9.2和Java 7
哇 - 不能相信我錯過了一個。 –