K
kntrue
Unregistered / Unconfirmed
GUEST, unregistred user!
我使用DatabaseMetaData类来得到oracle某一个表的所有字段,出现了一个问题
代码如下:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
String sConnection = "jdbcdbcraDb";
//连接数据库
Connection con =
DriverManager.getConnection(sConnection, "user", "111");
DatabaseMetaData dm = con.getMetaData();
ResultSet rs = dm.getColumns(null, null, "COMPANY", null);
while (rs.next())
{
String s = rs.getString("COLUMN_NAME");
System.out.println("s = " + s);
}
当我得到打印的COMPANY表的列名时,发现结果集中包含了2倍的字段(也就是说如果实际COMPANY表有a,b两个字段,rs返回中包含了a,b,a,b 4个值).我尝试了mysql,和sqlserver数据库都是正常的.我估计是ResultSet rs = dm.getColumns(null, null, "COMPANY", null);参数设置的问题,也在网上找了文章但是还是没有看懂,请大虾不吝赐教!!
万分感谢
代码如下:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
String sConnection = "jdbcdbcraDb";
//连接数据库
Connection con =
DriverManager.getConnection(sConnection, "user", "111");
DatabaseMetaData dm = con.getMetaData();
ResultSet rs = dm.getColumns(null, null, "COMPANY", null);
while (rs.next())
{
String s = rs.getString("COLUMN_NAME");
System.out.println("s = " + s);
}
当我得到打印的COMPANY表的列名时,发现结果集中包含了2倍的字段(也就是说如果实际COMPANY表有a,b两个字段,rs返回中包含了a,b,a,b 4个值).我尝试了mysql,和sqlserver数据库都是正常的.我估计是ResultSet rs = dm.getColumns(null, null, "COMPANY", null);参数设置的问题,也在网上找了文章但是还是没有看懂,请大虾不吝赐教!!
万分感谢