Java JDBC没有执行SHOW DATABASES命令
我想通过resultset获取存储在mysql中的数据库列表,并使用命令“showdatabases”将其放入java表中。但它不起作用Java JDBC没有执行SHOW DATABASES命令,java,mysql,jdbc,resultset,Java,Mysql,Jdbc,Resultset,我想通过resultset获取存储在mysql中的数据库列表,并使用命令“showdatabases”将其放入java表中。但它不起作用 DefaultTableModel model=(DefaultTableModel)dbTbl.getModel(); try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql//localhost/:
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");
}
这不是在JDBC中获取数据库列表的最佳方法。下面是它的实现方式—使用元数据
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();
另请参见:我刚刚忘记在“jdbc:mysql”之后添加冒号 正确的代码是:
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/:3306","root","password");
它可以工作,……!!!您会遇到什么错误?而且,在executeQuery中不需要