1

在我的应用程序中,我从用户那里得到一个 SQL 查询,然后我发送到一个数据库。我可以在不解析查询的情况下获取有关 SQL 查询的结果类型的信息吗?我使用纯 JDBC 来执行这些操作。

4

2 回答 2

2

connection.prepareStatement()在您的查询中使用,将preparedStatement返回 a。用它的.getMetaData()方法

于 2012-05-14T15:27:46.730 回答
2

是的。您可以使用 aPreparedStatement并调用其getMetadata方法,以获得有关ResultSet它将返回的 s 列的信息。

http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#getMetaData ()

Connection conn = ...
PreparedStatement ps = conn.prepareStatement(yourStatement);
ResultSetMetadata metadata = ps.getMetadata(); // this is what you need
...
// now you can execute the query
ResultSet rs = ps.executeQuery();
于 2012-05-14T15:31:04.670 回答