2013-04-25 27 views
0

我想提出,將存儲在數據庫中的Excel文件中的數據O程序。我有很多數據庫,所以在我的程序中,我必須選擇在哪個數據庫中存儲數據。 我已經使代碼能夠連接mysql與我的程序,並顯示可用的數據庫。我現在想要做的是說我將在哪個數據庫中存儲數據。 更具體地說,我希望用戶首先在他的客戶端查看可用的數據庫,然後他將有機會說出數據將存儲在哪個數據庫中。 任何人都可以幫助我如何做到這一點?如何命令「使用的數據庫名稱」是用java代碼

的代碼來查看所有可用的數據庫是如下:

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)); 
    } 

預先感謝您!

+0

你的問題是有點不清楚的所有表。數據庫是指模式還是表格? – 2013-04-25 11:51:59

+0

可以在此行中設置的數據庫(_after用戶選擇one_) - '連接CON =(連接)的DriverManager.getConnection( 「JDBC:MySQL的://本地主機:3306/SelectedDatabase」, 「根」, 「根」); ' – 2013-04-25 11:53:17

+0

我如何給用戶選擇的能力?我必須寫什麼才能在客戶端顯示,以便用戶輸入他想要的內容? – dedmar 2013-04-25 11:56:31

回答

0

我希望this SO link應該幫助你。你可以從連接對象中的所有數據

+0

@efoikonom,如果此答案可以幫助您,請將其標記爲正確答案 – Arun 2013-04-25 11:56:29

0

首先做一個創建一個簡單的連接

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

尋找一個例子here

看他如何使用ResultSet類來訪問結果。

現在,

檢索information_schema.SCHEMATA信息,以便您可以查詢像

SELECT schema_name FROM information_schema.SCHEMATA S;

讓所有的模式

下一頁getting choice from user(maybe from console)後,您可以根據使用Connection#setCatalog()

uservalue設置數據庫

如果你wan牛逼表信息使用此查詢

SELECT * FROM information_schema.TABLES T;

它會列出所有模式

+0

您能幫我解決代碼問題嗎?因爲我沒有太多的理解您。 – dedmar 2013-04-25 12:23:20

+0

更新了答案,提供了一些鏈接 – 2013-04-25 14:09:26

相關問題