2012-05-26 69 views
2

我正在用java編程一個簡單的應用程序jdk 1.7,使用netbeans 7.1.2MySQL 5PreparedStatement和LIKE錯誤

但我必須在接下來的代碼中的錯誤:

String sql = "SELECT idpaciente, ap_paterno, ap_materno, nombres, edad, direccion, telefono, descuento, movil, email, docId FROM paciente WHERE ap_paterno LIKE ? "; 
pst = con.prepareStatement(sql); 

pst.setString(1, paciente.getApellidoPaterno()); 

ResultSet rs = pst.executeQuery(sql); 

這個代碼編譯好,但後執行的,我有語法錯誤,Netbeans的說:

你有一個錯誤在你的SQL語法中;檢查手冊, 對應於您的MySQL服務器版本的正確語法使用 附近'?'在第1行

使用NetBeans調試器,錯誤是在executeQuery,但我找不到我的錯誤。

+0

我想你錯過了單引號'? ' –

回答

2

PreparedStatement.executeQuery()不接受任何參數,但是由於接口繼承了Statement.executeQuery(String sql),所以您改爲調用該參數。只要致電:

ResultSet rs = pst.executeQuery(); 
+0

非常感謝。我嘗試這個,並確定。我的應用程序是好的。沒錯,我在PreparedStatement.executeQuery方法中使用了一個參數,這是我的錯誤。我的問題解決了。謝謝。 – deckxter