怎样用JDBC获得数据库中所有的表名?我自己是这样写的但取不到Connection con = DriverManager.getConnection(d.getUrl(), d
.getDbuser(), d.getDbpwd());
String[] type=new String[1];
type[0]="TABLES";
ResultSet rs = con.getMetaData().getTables(null,null,“%”,null);
.getDbuser(), d.getDbpwd());
String[] type=new String[1];
type[0]="TABLES";
ResultSet rs = con.getMetaData().getTables(null,null,“%”,null);
我试了,这样也不行,其得到的resultSet是空的!
while(rs.next())
(rs.getString(0));
while(rs.next())
log.debug(rs.getString(0));
会出现out off Index的异常。
如果是SQL2000,那么每个数据库里面都有一个sysobjects表,然后再判断一个
select就行了,
如果是Oracle这个我不是太清楚谢谢
String[] types = {"TABLE"};
ResultSet rs = dmd.getTables(null, null, "%", types);
while(rs.next()){
System.out.println(rs.getString(3));
}
rs.close();
1 TABLE_CAT String => table catalog (may be null)
2 TABLE_SCHEM String => table schema (may be null)
3 TABLE_NAME String => table name
……
注意返回rs的列顺序,具体看帮助!
log.debug(rs.getString(0));//从1开始编号的呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
会出现out off Index的异常。
SQL 里面都从 1 开始.