2016-04-03 140 views
0

我有一个简短的问题。在我的SQL管理器中,我试图创建mysql的'显示数据库',但是当我执行ResultSet时,它只会将它创建的最后一个数据库名称设置到我的jTextPane中...我怎样才能让它显示所有数据库存在于MySQL?下面是我使用的代码...从ResultSet获取所有数据库

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不和,这是我想要的东西......也许添加一个循环?我不知道!

回答

0

每次使用setText时,您将覆盖您的jTextPane2的内容。将字符串连接到jTextPane2内容:

jTextPane2.setText(jTextPane2.getText()+ 
    "BASE DE DATOS EXISTENTES = " + rs.getString("TABLE_CAT")); 

这将使您获得文本窗格中的所有文本。你可能想要做一些对齐操作;)