加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何通过jdbc获取主键的列名

发布时间:2020-05-25 03:16:56 所属栏目:Java 来源:互联网
导读:我有代码如下: DatabaseMetaData dmd = connection.getMetaData();ResultSet rs = dmd.getPrimaryKeys(null, null, tableName);while(rs.next()){ primaryKey = rs.getString(COLUMN_NAME);} rs不为空,而rs.next()总是

我有代码如下:

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

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

rs不为空,而rs.next()总是返回false,任何人都有想法?谢谢.

解决方法

>元数据接口实现由驱动程序供应商实现.某些驱动程序和某些db可能不支持它.
这里是javadoc的文本:
一些DatabaseMetaData方法以ResultSet对象的形式返回信息列表.常规ResultSet方法(如getString和getInt)可用于从这些ResultSet对象中检索数据.如果给定的元数据形式不可用,则返回一个空的ResultSet.
>表名在oracle中区分大小写
>或尝试以下方法
DatabaseMetaData dm = conn.getMetaData( );
ResultSet rs = dm.getExportedKeys( "","","table1" );
while( rs.next( ) ) 
{    
  String pkey = rs.getString("PKCOLUMN_NAME");
  System.out.println("primary key = " + pkey);
}

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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读