这个问题是this question的一个扩展。我能得到MetaData是件好事。但是,通过阅读文档,我了解到此数据仅适用于SELECT类型请求。我需要更多的信息,是UPDATE还是SELECT等等。我可以在不解析SQL请求的情况下获得这些信息吗?如果我使用executeQuery()或getMetaData()来更新或删除请求,结果会是什么?
发布于 2012-05-15 19:12:50
元数据仅在ResultSet和Database级别上可用,但在Update和Delete类型的查询上不可用。Statement.execute( String sql )可用于标识查询返回的是ResultSet(s)还是整数数量的受影响记录。
文档中写道:
execute方法执行SQL语句并指示第一个结果的形式。然后,您必须使用getResultSet或getUpdateCount方法检索结果,使用getMoreResults方法移动到任何后续结果。
此方法返回true if the first result is a ResultSet object; false if it is an update count or there are no results
没有任何直接的方法可以告诉您正在使用的查询是Update还是Delete。您需要显式地解析它并进行标识。
https://stackoverflow.com/questions/10598364
复制相似问题