首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JDBC未执行显示数据库命令

JDBC未执行显示数据库命令
EN

Stack Overflow用户
提问于 2012-10-08 01:29:12
回答 2查看 6.1K关注 0票数 2

我想获得mysql中存储的数据库列表,并通过结果集使用命令"show databases“将其放入java表中。但它不起作用。

代码语言:javascript
复制
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");
}
EN

回答 2

Stack Overflow用户

发布于 2012-10-08 01:42:03

这不是在JDBC中获取数据库列表的最佳方法。下面是它的实现方式--使用MetaData

代码语言:javascript
复制
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();

另请参阅:how to get list of Databases "Schema" names of MySql using java JDBC

票数 6
EN

Stack Overflow用户

发布于 2012-10-22 00:18:05

我只是忘了在"jdbc:mysql的正确代码是:

代码语言:javascript
复制
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/:3306","root","password");

它起作用了,......!!!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12771120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档