ResultSetMetaData rsMeta = rs.getMetaData(); while(rs.next()){ StringBuffer b = new StringBuffer(); for (int i = 0; i < rsMeta.getColumnCount(); i++) { b.append(rsMeta.getColumnLabel(i+1)).append('=').append(rs.getString(i+1)); } System.out.println(b); }
也许我没有把问题说得清楚,当我用java的Connection连好数据库,这时我想知道这个数据库里可以给这个user所能查看的table(不是view)有多少,都叫什么名字
sqlserver: select count(*) from sysobjects where type='U'
DatabaseMetaData dbMeta = conn.getMetaData();
ResultSet rs = dbMeta.getTables("%","MySchemaAsUsername","%",new String[]{"TABLE","VIEW"});
ResultSetMetaData rsMeta = rs.getMetaData();
while(rs.next()){
StringBuffer b = new StringBuffer();
for (int i = 0; i < rsMeta.getColumnCount(); i++) {
b.append(rsMeta.getColumnLabel(i+1)).append('=').append(rs.getString(i+1));
}
System.out.println(b);
}