此表代表單選按鈕。如何在`PreparedStatement`中提供表達式作爲參數
id | radio_id | value | is_selected
------|-------------|----------|-------------
1 | 10 | one | false
2 | 10 | two | false
3 | 10 | three | true
我可以運行以下查詢來選擇另一個無線電。
UPDATE TABLE radios SET is_selected = (id = 1) WHERE radio_id = 10
使用此查詢我也確保只選擇1個無線電框。
id | radio_id | value | is_selected
------|-------------|----------|-------------
1 | 10 | one | true
2 | 10 | two | false
3 | 10 | three | false
但我不能做同樣的事情PreparedStatement
PreparedStatement ps = con.prepareStatement("UPDATE TABLE radios SET is_selected = ? WHERE radio_id = ?");
ps.setObject(1, "(id = 1)");
ps.setInt(2, 10);
但後來我收到錯誤的字符串不能轉換爲boolean。 如何在預準備語句中提供表達式作爲參數。
'UPDATE TABLE'? (第一次看到) – 2015-12-21 12:52:36
不理解那部分''is_selected =(id = 1)''我假設你想在這裏設置一個布爾值......基本上這就是你的錯誤信息告訴你的。 。你嘗試設置一個String''(id = 1)'',但是一個布爾值是預期的。 – hatze
爲什麼要將GUI模型保存在數據庫中?你只計劃支持一個用戶嗎? – EJP