2016-09-12 36 views
0

我試圖與一個PreparedStatement這樣的查詢的新值:使用PreparedStatement指定列名和

UPDATE PLAYER SET ? = ? WHERE ID = ? 

,但我得到

Error: java.sql.SQLSyntaxErrorException: ORA-01747

當我使用的代碼像這樣:

UPDATE PLAYER SET NAME = ? WHERE ID = ? 

它的工作原理。但是,我想在我的方法中使用3個參數。那可能嗎?

+1

我不認爲你可以用參數替換對象。 –

+0

測試上面的代碼正在工作,但有錯誤。 –

+1

爲什麼不在Java代碼中包含邏輯來確定要更新哪一列?或者,更好的是,製作查詢的邏輯來處理這個問題。 –

回答

0

這不是由PreparedStatement的自身支持

可以使用,但與string.replace究竟這是你應該使用preparedStatement時當避免什麼(對於SQL注入)

如果你正在使用Hibernate,您可以跳轉到標準和這將是非常容易做