如何在不执行sql语句的情况下打印sql结果?

时间:2013-05-20 01:42:19

标签: java sql

我有一个SQL语句,它会根据ID和区域删除某一行。我可以system.out.println这个语句没有执行语句本身吗?我只是想确定我删除的内容是否正确。

以下是一个示例声明:

PreparedStatement ps = db.getPreparedStatement("delete from tbl_traininglinks where training_title IN ('"+vwarnid+"')");
    int i=ps.executeUpdate();

2 个答案:

答案 0 :(得分:1)

我注意到这个问题已在评论中得到解答,但我想添加一些可能相关的内容,具体取决于您的应用程序的使用方式。

如果您在使用SELECT之前使用DELETE并等待用户验证,则表格中的数据可能会在此期间更改,您最终可能会删除您未获得的行SELECT语句,并且用户未验证是否删除。即使您只显示SELECT语句的结果然后立即删除,也可能发生这种情况,但机会较小。

相反,我建议您使用SELECT并在用户验证删除后构建一个DELETE SQL命令,该命令使用您在SELECT语句中收到的行的键。这样,您只能删除用户验证要删除的内容。

答案 1 :(得分:-1)

有一项名为

的功能
ROLLBACK

如果您使用的是交易数据库。