在JDBC中获取列名

时间:2011-08-01 09:53:13

标签: java sql jdbc

我想知道如何判断某个数据库表中是否存在具有特定名称的列。我正在使用JDBC,但如果可以使用纯SQL,那就更好了。但是,解决方案必须独立于DBMS提供者。我想我可以通过查询表的第一行并从中获取ResultSetMetaData来做到这一点,但这假设表中有一行。我希望它也能用于空表。提前谢谢!

3 个答案:

答案 0 :(得分:12)

您可以从DatabaseMetaData获取它们。

DatabaseMetaData meta = connection.getMetaData();
ResultSet rs = meta.getColumns(...);

答案 1 :(得分:2)

表是否为空并不重要。 ResultSetMetaData仍会为您提供有关ResultSet对象中列的类型和属性的信息。

答案 2 :(得分:2)

您可以使用java.sql.DatabaseMetaData接口检索有关数据库结构的常规信息。

DatabaseMetaData dbmeta = con.getMetaData();

调用getColumns(),获取可用的表列的描述。