2016-04-03 3 views
0

У меня есть быстрый вопрос. В моем диспетчере SQL я пытаюсь создать «show databases» для 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

Вы переписываете содержимое своего jTextPane2 каждый раз, когда используете setText. Объединить строку с содержимым jTextPane2 вместо:

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

Это поможет вам весь текст в текстовом окне. Возможно, вы захотите что-то сделать для выравнивания;)

Смежные вопросы