在JAVA程序中怎样获得mysql数据库的名称?使用JDBC能做到吗?望各位大哥大姐不吝赐教

解决方案 »

  1.   

    数据库名称jdbc:mysql://localhost/test上面的连接字符串里面不就是有吗
      

  2.   

    我觉得jdbc完全是建立在没个数据库的基础上,所以你的url中必须指定database,mysql中可能有一个show databases;的语句是显示你的数据库服务器上的所有数据库的.如果是在java中的话,就不知道了
      

  3.   

    这个还真不知道 
    不过如果在JAVA中要获得数据库名称的话 要先连接带数据库吧
    这样获得数据名称还有作用吗?(虽然有些数据源配置时候不需要数据库名称了,但用户必须十超级管理员才可以所以不通用,但通常情况是以知数据库名的连接)
      

  4.   

    谢谢楼上的几位了
    我是想用java做一个类似mysql-front的软件,象sqlserver企业管理器那样的
    大家还有没有更好的想法啊?
      

  5.   

    JDBC里面包含了获得数据库信息的功能啊,查查JDBC的API
      

  6.   

    谢谢楼上的
    但是在JDBC连接的时候那个URL里是必须要写入一个数据库名称的
    有没有不写数据库名称也能连接的办法呢?
      

  7.   

    问题我自己解决了,代码如下:
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Vector;
    public class Test {
      private Connection connection;
      private Statement statement;
      private String userID = "root";
      private String password = "111";
      private String url = "jdbc:mysql://localhost/";
      private String driver = "com.mysql.jdbc.Driver";
      private String s=null;
      private Vector ve=new Vector();
      public Test(){
      try {
            Class.forName(driver);
          } catch(ClassNotFoundException cnfe) {
            System.err.println(cnfe);
          }
       try{
       connection = DriverManager.getConnection(url, userID, password);
       statement = connection.createStatement(); 
       ResultSet rs=statement.executeQuery("show databases");
       while(rs.next()){
         s=rs.getString(1);
         ve.addElement(s);
       }
       }catch(Exception e){
       e.getMessage();
       }
       for(int i=0;i<=ve.size();i++){
       System.out.println(ve.elementAt(i));
       }
     
      }
      public static void main(String[] args){
      Test test=new Test();
      }
      
    }
      

  8.   

    应用中使用root权限登陆...,这样的用法不敢苟同root应该是dba管理专用
      

  9.   

    答案是public class Con {
      private Connection connection;
      private Statement statement;
      private String userID = "root";
      private String password = "111";
      private String url = "jdbc:mysql://localhost/";
      private String driver = "com.mysql.jdbc.Driver";
      private String s=null;
         public Con(){
      try {
            Class.forName(driver);
          } catch(ClassNotFoundException cnfe) {
            System.err.println(cnfe);
          }
       try{
       connection = DriverManager.getConnection(url, userID, password);
       statement = connection.createStatement(); 
       ResultSet rs=statement.executeQuery("show databases");
       while(rs.next()){
         s=rs.getString(1);
         System.out.println(s);
       }
       }catch(Exception e){
       e.getMessage();
       }
        
      }
      public static void main(String[] args){
      Test test=new Test();
      }
      
    }