从Connection对象上获得DatabaseMetaData, public DatabaseMetaData getMetaData() throws SQLException 调用DatabaseMetaData的 ResultSet getCatalogs() 方法,返回一个ResultSet Gets the catalog names available in this database. 如果要获得某个数据库所有表,可以调用 ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) Gets a description of tables available in a catalog.
public DatabaseMetaData getMetaData() throws SQLException
调用DatabaseMetaData的 ResultSet getCatalogs() 方法,返回一个ResultSet
Gets the catalog names available in this database.
如果要获得某个数据库所有表,可以调用
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
Gets a description of tables available in a catalog.
mysqlConn msc=new mysqlConn();
Connection conn=msc.getConnction(url);
System.out.println(conn);
//数据库基本数据表名.........
try{
DatabaseMetaData dmd=conn.getMetaData();
//ResultSet rsSch=dmd.getSchemas();//计划 所用者 一般没有
//while(rsSch.next()){System.out.println(rsSch.getString(1));}
ResultSet rsTable=dmd.getTables(null,null,"%",null);//%所有表单
System.out.println("连接的URL: "+dmd.getURL());
System.out.print("数据库"+dmd.getDatabaseProductName()+"数据源test的表单有:");
while(rsTable.next()){
System.out.print(rsTable.getString("TABLE_NAME")+"\t");
}
}
catch(Exception e){System.out.println(e);}
//conn.setAutoCommit(false);
try{
Statement smt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from table1 ";
ResultSet rs=smt.executeQuery(sql);
ResultSetMetaData rsmd=rs.getMetaData();
System.out.println("\n数据库资料,包含列的索引名");
for(int i=0;i<rsmd.getColumnCount();i++){
System.out.print(rsmd.getColumnName(i+1)+"\t");
}
while(rs.next()){
String temp=new String (rs.getString(1).getBytes("ISO8859-1"));
System.out.print("\n"+temp);
System.out.print("\t"+rs.getString(2));
System.out.print("\t"+rs.getString(3)+"\t");
}
rs.close();
1.道歉,在下查字典不仔细,我有到Connection的getCatalog()去了;
2.感谢,真的十分感谢;
3.return;