1
我似乎無法解決這個錯誤。我需要ResultSet來獲取實際的Object。錯誤是:java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
在rs = pst.executeQuery();
。代碼:java.sql.SQLException:不能用executeQuery()發出數據操作語句()
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
String url = null; //Set, but not visible in code.
String user = null; //Set, but not visible in code.
String password = null; //Set, but not visible in code.
public Object get(String table, String key){
try {
con = DriverManager.getConnection(url, user, password);
String query = "SELECT * FROM `" + table + "` WHERE key = ?;";
pst = con.prepareStatement(query);
pst.setString(1, key);
pst.executeUpdate();
rs = pst.executeQuery();
rs.next();
return rs.getObject(1);
} catch (SQLException ex) {
return null;
} finally {
try {
if (rs != null) {
rs.close();
}
if (pst != null) {
pst.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
return null;
}
}
}
當您嘗試執行類似DDL語句出現該錯誤消息'CREATE TABLE之間 FOO(id int);'使用'executeQuery'方法。您提供的代碼似乎並不是出現此異常的地方。 –
您正在使用pst.executeUpdate();在選擇查詢上。爲什麼? –
@VMai我想你可能已經爲我修好了,現在正在測試。 – OHQCraft