从ResultSet获取所有数据库

时间:2016-04-03 02:24:16

标签: java mysql fetch

我有一个简单的问题。在我的SQL管理器中,我正在尝试创建mysql的“show databases”,但是当我执行ResultSet时,它只将它发现的最后一个数据库名称设置到我的jTextPane中...我怎样才能让它向我展示mysql上存在的数据库?这是我正在使用的代码......

if(validar[0].equals("mostrar") && validar[1].equals("bds")){
                            try{
                                if(validar.length == 2){                                        
                                    ResultSet rs = conexion.getMetaData().getCatalogs();                                        
                                    while (rs.next()){                                            
                                        jTextPane2.setText("BASE DE DATOS EXISTENTES = " + rs.getString("TABLE_CAT"));
                                        System.out.println("BASE DE DATOS EXISTENTES = " + rs.getString("TABLE_CAT"));
                                        jTextField1.setText("");
                                    }                                     
                                }else{
                                    jTextPane2.setText("ERROR.");
                                    jTextField1.setText("");
                                }                              
                            }catch(Exception ae){
                                jTextPane2.setText(ae.getMessage());
                                jTextField1.setText("");
                            }
                        }else{
                            jTextPane2.setText("ERROR: COMANDO MAL INGRESADO...");  
                        }

System.out.println打印到输出所有现有数据库,但jTextPane2.setText没有,这就是我想要的...也许添加一个循环?我不知道!

1 个答案:

答案 0 :(得分:0)

每次使用setText时,您都会覆盖jTextPane2.setText(jTextPane2.getText()+ "BASE DE DATOS EXISTENTES = " + rs.getString("TABLE_CAT")); 的内容。将字符串连接到jTextPane2内容:

{{1}}

这将为您提供文本窗格中的所有文本。您可能想要对齐做一些事情;)