2012-02-12 5 views
1

Я создал соединение с базой данных с Java и хотел бы отображать данные из двух таблиц.Отображение значений из двух таблиц в java

В запросе я использовал команду JOIN, но я боюсь синтаксической ошибки. Надеюсь на некоторые советы относительно этого.

try 
    { 
     Class.forName(driverName); 
     connection = DriverManager.getConnection(SourceURL, user, password); 


     Statement listDisplay = connection.createStatement(); 
     ResultSet displayAll = listDisplay.executeQuery("SELECT AnimalType.typeID, AnimalType.description, Animal.name " 
                +"FROM Animal " 
                +"JOIN AnimalType "  
                +"ON AnimalType.typeID = Animal.typeIDForeign"); 
     while(displayAll.next()) 
     { 
      int typeId = displayAll.getInt(1); 
      String description = displayAll.getString(2); 
      String name = displayAll.getString(3); 

      System.out.println(typeId + " " + description + " " + name); 
     } 

     connection.close(); 

     } 
     catch(SQLException sql) 
     { 
      JOptionPane.showMessageDialog(null, sql.toString()); 
     } 
     catch(ClassNotFoundException exe) 
     { 
      JOptionPane.showMessageDialog(null, exe.toString()); 
     } 

Будет ли это работать, что я пытаюсь сделать здесь.?

рассматривает Ариан

+2

Пожалуйста, пост трассировки стека. – Paul

+0

Поскольку вы можете воспроизвести ту же ошибку в приложении с командной строкой. без GUI, это не имеет ничего общего с Swing. –

+0

Да. Благодарю. Сделал небольшое изменение с запросом, и теперь его отлично ... спасибо. ("SELECT AnimalType.typeID, AnimalType.description, Animal.name" + "FROM AnimalType, Animal" + "WHERE AnimalType.typeID = Animal.typeIDForeign"); – Arianule

ответ

1

я обычно делаю это примерно так:

if (displayAll.first()) 
{ 
    do 
    { 
     int typeId = displayAll.getInt(1); 
     String description = displayAll.getString(2); 
     String name = displayAll.getString(3); 

     System.out.println(typeId + " " + description + " " + name); 
    } while(displayAll.next()); 
} 
displayAll.close(); 
listDisplay.close(); 
Смежные вопросы