如何通过jdbc获取主键的列名
我的代码如下:
DatabaseMetaData dmd = connection.getMetaData(); ResultSet rs = dmd.getPrimaryKeys(null, null, tableName); while(rs.next()){ primaryKey = rs.getString("COLUMN_NAME"); }
rs不是null而rs.next()
总是返回false
,有人知道吗? 谢谢。
-
元数据接口实现由驱动程序供应商实现。 某些驱动程序和某些数据库可能不支持它。 这是来自javadoc的文本:一些DatabaseMetaData方法以ResultSet对象的forms返回信息列表。 常规ResultSet方法(如getString和getInt)可用于从这些ResultSet对象中检索数据。 如果给定forms的元数据不可用,则将返回空ResultSet。
-
表名在oracle中区分大小写
-
或尝试以下方法
DatabaseMetaData dm = conn.getMetaData(); ResultSet rs = dm.getExportedKeys(“”,“”,“table1”); 而(rs.next()) { String pkey = rs.getString(“PKCOLUMN_NAME”); System.out.println(“primary key =”+ pkey); }
您还可以使用getCrossReference或getImportedKeys来检索主键
- 尝试将新的Class实例添加到ArrayList时,while循环中出现NullPointerException
- JTextPane格式化
- 将Memcached客户端从Memcached-Java-Client迁移到Xmemcached
- 启动Applet失败了吗?
- Java中连接到Microsoft Access 2007数据库的正确方法是什么?
- Java Swing – 具有3种状态的JCheckbox(完全选中,部分选中和取消选择)
- 如何在Chef上的Tomcat 7 cookbook上上载WAR文件?
- Java中的a + = a ++ * a ++ * a ++。 如何评估?
- Java Manifest文件的类路径以及它如何确定相对dirs