java显示表由executeUpdate()修改
我正在做一个程序,用户可以手工进行查询,结果显示在jtable中,例如:
userQuery= "DELETE FROM cds WHERE Nro_cd = 4;"
我用的是这个代码
if (statement.execute(userQuery)){
ResultSet rs = statement.executeQuery(userQuery);
table.setModel(DbUtils.resultSetToTableModel(rs));
JOptionPane.showMessageDialog(null, "Consulta Realizada");
rs.close();
}
else {
statement.executeUpdate(userQuery);
JOptionPane.showMessageDialog(null, "Modificacion Realizada");
}
我的问题是,当我执行一个更新时,我没有得到一个结果集,是否仍然需要从更新的表中进行选择
# 1 楼答案
没错。最多可以得到的是受影响的行数(例如,在您的示例中,已删除)
我假设您正在询问是否有方法选择查找在上一条语句中删除/更新的行
没有
首先,如果行已被删除,它们将不会被查询。(显然!)
常规数据库没有版本控制。在插入/更新/删除之前,无法查看数据库的状态
如果你需要知道哪些记录被删除或更新,我认为你最好的办法是重组你的a代码来做到这一点:
现在,您可以使用步骤3中记录的信息
另见:
# 2 楼答案
您需要再次使用
ResultSet
来获取数据库记录,如下所示:另外,请注意,关闭
finally
块内的resultset
和statement
对象是最佳做法