首先,我为用户执行插入查询。然后我想得到这个用户的ID。似乎与DB的连接不是最新的,因为我得到了这个SQLEception:
java.sql.SQLException: Illegal operation on empty result set.
如果我在phpMyAdmin上执行SELECT语句,我会得到一个带有id的结果。
连接
conn = DriverManager.getConnection
("jdbc:mysql://" + server + ":3306", user, password);
conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
方法
添加用户方法:
public void addUser(String name, String vorname) {
updateQuery("INSERT INTO Personen (pers_name, pers_vorname) VALUES ('" + name + "','" + vorname + "')");
}
这个查询dos工作。我在phpMyAdmin中看到了结果
获取用户ID方法:
public ResultSet getUserId(String nachname, String vorname){
String stringQuery = "SELECT pers_id FROM Personen WHERE pers_name = '" + nachname +"' AND pers_vorname = '" + vorname + "'";
return query(stringQuery);
}
此方法返回空结果集
这是我的query
和updateQuery
方法:
protected ResultSet query(String query) {
ResultSet rs;
try {
rs = stmt.executeQuery(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
rs = null;
}
return rs;
}
protected void updateQuery(String query){
try {
stmt.executeUpdate(query);
} catch (SQLException e) {
e.printStackTrace();
}
问题
有没有办法更新连接?