java.sql 包里面有没有 可以得到 数据库名列表的类 或方法
  有的话可以简单写一下怎么得到吗 谢谢

解决方案 »

  1.   


    Class.forName(.....);
    DriverManager.getConnection(...);Statement smt=con.createStatement();
    String sql="SELECT ....";
    ResultSet rs=smt.ExecuteQuery(sql);
    while(rs.next()){}
      

  2.   

    “数据库名列表”指什么?
    DatabaseMetaData接口有获取数据库相关信息的方法,Connection可以得到DatabaseMetaData
      

  3.   

    恩。下次把你的问题描述的清楚些。我按照我的理解,给你回答一下Connection conn = //创建的连接。
    DatabaseMetaData dbmd = Conn.getMetaData();\getDatabaseProductName()用以获得当前数据库是什么数据库。比如oracle,access等。返回的是字符串。
    getDatabaseProductVersion()获得数据库的版本。返回的字符串。
    getDriverVersion()获得驱动程序的版本。返回字符串。
    这个类中还有一个比较常用的方法就是获得表的信息。使用的方法是:
    getTables(String catalog,String schema,String tableName,String[] types),
    这个方法带有四个参数,他们表示的含义如下:
    String catalog——要获得表所在的编目。串“”””意味着没有任何编目,Null表示所有编目。
    String schema——要获得表所在的模式。串“”””意味着没有任何模式,Null表示所有模式。该参数可以包含单字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
    String tableName——指出要返回表名与该参数匹配的那些表,该参数可以包含单字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
    String types——一个指出返回何种表的数组。可能的数组项是:”TABLE”,”VIEW”,”SYSTEM TABLE”,”GLOBAL TEMPORARY”,”LOCAL TEMPORARY”,”ALIAS”,“SYSNONYM”。
      

  4.   

    ResultSet rst=stmt.executeQuery("..........");
    ResultSetMetaData meta=rst.getMetaData()  ;
    int col=meta.getColumnCount();
    String name = meta.getColumnName(1));
      

  5.   

    LZ可以经常去查看JDK帮助文档!
    相信你能马上找到答案的。
      

  6.   

    这位兄弟说的对,可以用jdk提供的获取数据库的元数据的 api,such as:
    java.sql
    Interface DatabaseMetaData
      

  7.   

    我在猜测楼主的意图:获取的是数据库中某一个制定的table的所有列名么?
    ResultSetMetaData rsmd = rs.getMetaData();
    rsmd.getColumnCount()返回此 ResultSet 对象中的列数
    rsmd.getSchemaName(int column)获取指定列的名称
    以上可以使用一个for语句获取全部的列名。不知我的提议是否是楼主想要的的结果?