如何获得通过JDBC的主键的列名(How to get the column name of the

2019-06-26 07:31发布

我的代码如下:

DatabaseMetaData dmd = connection.getMetaData();
ResultSet rs = dmd.getPrimaryKeys(null, null, tableName);

while(rs.next()){
    primaryKey = rs.getString("COLUMN_NAME");
}

RS不为空,而rs.next()总是返回false ,任何人有关于它的主意? 谢谢。

Answer 1:

  1. 元数据接口的实现是由驱动程序供应商实现。 它可能不被一些司机和一些数据库的支持。 这里是javadoc的文字:有些DatabaseMetaData方法以ResultSet对象的形式返回信息列表。 定期ResultSet方法,如getString和getInt,可用于检索从这些结果集对象的数据。 如果元数据的形式给出不可用,空的ResultSet将被退回。

  2. 表名是Oracle区分大小写

  3. 或尝试下面的方法

      DatabaseMetaData的DM = conn.getMetaData();  结果集RS = dm.getExportedKeys( “”, “”, “表1”);  而(rs.next())   {        串p键= rs.getString( “PKCOLUMN_NAME”);    的System.out.println( “主键=” + p键);  } 

    你也可以使用getCrossReference或getImportedKeys检索主键



文章来源: How to get the column name of the primary key through jdbc
标签: java jdbc