0

这个问题是这个问题的延伸。我能得到元数据很好。但是,阅读文档后,我了解到此数据仅适用于 SELECT 类型的请求。我需要更多信息,是 UPDATE 还是 SELECT 等。我可以在不解析 SQL 请求的情况下获取这些信息吗?如果我使用 executeQuery() 或 getMetaData() 来更新或删除请求会怎样?

4

1 回答 1

1

元数据仅适用于ResultSetDatabase级别,但不适用于UpdateDelete类型的查询。可Statement.execute( String sql )用于识别查询是否返回ResultSet(s)或受影响的整数数量的记录。

文档说:
execute 方法执行一条 SQL 语句并指示第一个结果的形式。然后,您必须使用这些方法getResultSetgetUpdateCount检索结果,并getMoreResults移动到任何后续结果。

该方法返回true if the first result is a ResultSet object; false if it is an update count or there are no results

没有任何直接的方法可以告诉您正在使用的查询是 anUpdate还是 a Delete。您需要对其进行显式解析并识别。

于 2012-05-15T11:12:50.317 回答