2

我正在制作一个将数据存储在数据库中的程序。我已经创建了获取连接的代码,以读取所有可用的数据库,但现在我希望能够从可用数据库中选择一个特定的。谁能帮我怎么做?下面的 dode 是与基础的连接和可用数据库的列表。

public static void main (String[] args) throws Exception {
        try {
            System.out.println("get the connection");
        }
        catch( Exception e )
         {
         System.out.println( "SQLException: " + e.getMessage() );
         }

        Class.forName("com.mysql.jdbc.Driver");
        Connection con = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/", "root", "root");
        DatabaseMetaData meta = (DatabaseMetaData) con.getMetaData();
        ResultSet res = meta.getCatalogs();
        System.out.println("List of the databases: ");
        while (res.next()){
            System.out.println (" " +res.getString(1));
        }
        {
            Scanner keyboard = new Scanner ( System.in);
            System.out.println("Choose a database");
            String theDatabase = keyboard.toString();
            while (theDatabase )
            {
                System.out.println("Enter an existing database");
                theDatabase = keyboard.toString();
            }
            System.out.println("You choose "+theDatabase);
        }

我要怎么继续??我想继续使用所选数据库的其余程序。我必须在 while(theDatabase) 中写什么???

4

4 回答 4

3

为每个数据库创建多个连接对象,例如

Connection con = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/", "root", "root");

Connection con1 = Create connection using oracle


if(theDatabase.equals("mysql"))
//use con
else 
//use con2

或者

 Connection con = null;

 if(theDatabase.equals("mysql"))
      con = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/", "root", "root");
else 
       con = (Connection) DriverManager.getConnection(oracle);

然后使用

Connection con = (Connection) DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");
于 2013-04-26T09:52:27.630 回答
1

您可以在表名前加上数据库名。例如,如果数据库名称是 DB1,表名称是 TB1,那么您的查询可能是

从 DB1.TB1 中选择 *

于 2013-04-26T09:55:28.963 回答
1

连接到选定的数据库。

Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");

// Do your code here
于 2013-04-26T09:56:28.007 回答
0

要选择您的数据库,请在此处添加您的 Dababasename:

Connection con = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/DatabaseName", "root", "root");
于 2013-04-26T09:55:10.797 回答