oracle : select * from tab

解决方案 »

  1.   

    用DatabaseMetaData 类,它有一个方法getCatalogs(),返回的是所有Catalog(数据库)的列表。
      

  2.   

    从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.
      

  3.   

    String url="jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=8859_1";
         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();
      

  4.   

    用DatabaseMetaData 类,它有一个方法getCatalogs(),返回的是所有Catalog(数据库)的列表,它是一个ResultSet,然后你用ResultSet的方法取就是数据库的名字了呀。
      

  5.   

    to:CoolAbu
     1.道歉,在下查字典不仔细,我有到Connection的getCatalog()去了;
     2.感谢,真的十分感谢;
     3.return;