我的代码如下:
DatabaseMetaData dmd = connection.getMetaData();
ResultSet rs = dmd.getPrimaryKeys(null, null, tableName);
while(rs.next()){
primaryKey = rs.getString("COLUMN_NAME");
}
RS不为空,而rs.next()
总是返回false
,任何人有关于它的主意? 谢谢。
我的代码如下:
DatabaseMetaData dmd = connection.getMetaData();
ResultSet rs = dmd.getPrimaryKeys(null, null, tableName);
while(rs.next()){
primaryKey = rs.getString("COLUMN_NAME");
}
RS不为空,而rs.next()
总是返回false
,任何人有关于它的主意? 谢谢。
元数据接口的实现是由驱动程序供应商实现。 它可能不被一些司机和一些数据库的支持。 这里是javadoc的文字:有些DatabaseMetaData方法以ResultSet对象的形式返回信息列表。 定期ResultSet方法,如getString和getInt,可用于检索从这些结果集对象的数据。 如果元数据的形式给出不可用,空的ResultSet将被退回。
表名是Oracle区分大小写
或尝试下面的方法
DatabaseMetaData的DM = conn.getMetaData(); 结果集RS = dm.getExportedKeys( “”, “”, “表1”); 而(rs.next()) { 串p键= rs.getString( “PKCOLUMN_NAME”); 的System.out.println( “主键=” + p键); }
你也可以使用getCrossReference或getImportedKeys检索主键