【问题标题】:getting column names in JDBC在 JDBC 中获取列名
【发布时间】:2011-08-01 09:53:13
【问题描述】:

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

【问题讨论】:

  • ResultSetMetaData 仍然有效,即使表是空的...

标签: java sql jdbc


【解决方案1】:

您可以从DatabaseMetaData 获取它们。

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

【讨论】:

  • 请注意,当您使用getColumns(null,null,tablename,null) 获取表的列时,表名区分大小写。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    DatabaseMetaData dbmeta = con.getMetaData();
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-05
      • 2016-10-03
      • 2012-09-30
      • 2013-08-05
      • 1970-01-01
      • 2017-12-27
      • 2019-08-02
      • 2011-02-06
      相关资源
      最近更新 更多