2

mysql に保存されているデータベースのリストを取得し、結果セットを介してコマンド「show databases」を使用して Java テーブルに配置したいと考えています。しかし、それは機能していません。

DefaultTableModel model=(DefaultTableModel)dbTbl.getModel();
try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql//localhost/:3306","root","password");
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery("show databases;");
    while(rs.next())
   {
    String db=rs.getString(1);
    model.addRow(new Object[] {db});
   }
    rs.close();
    stmt.close();
    con.close();
}
catch(Exception e)
{
    JOptionPane.showMessageDialog(null,"nahi chalda");
}
4

2 に答える 2

6

これは、JDBCでデータベースのリストを取得するための最良の方法ではありません。これがその方法です-MetaDataを使用します

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/:3306","root","password");
DatabaseMetaData meta = con.getMetaData();
ResultSet resultSet = meta.getCatalogs();
while (resultSet.next()) {
   String db = resultSet.getString("TABLE_CAT");
   model.addRow(new Object[] {db});
}
resultSet.close();
con.close();

参照:JavaJDBCを使用してMySqlのデータベース「スキーマ」名のリストを取得する方法

于 2012-10-07T17:42:02.977 に答える
-1

"jdbc:mysql の後にコロンを追加するのを忘れただけです。正しいコードは次のとおりです。

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

できます 、......... !!!

于 2012-10-21T16:18:05.220 に答える