2016-03-22 17 views
0

anahtarını kullanarak bir SQL sonucu görüntüleniyor Merhaba, zamana bağlı olarak farklı metin alanlarında ayarlanacak bir veritabanından sonuçları almaya çalışıyorum. Örneğin. Bu, verileri belirli bir tarih için aldığım bir randevu görüntüleyicisidir, ancak yalnızca ilk sonucu metin kutusuna yerleştirmektir.Java sadece

private void appointmentsView(){ 

    String sqldate = ((JTextField)appointmentDate.getDateEditor().getUiComponent()).getText(); 

    try{ 

    String sql="SELECT appointment_tbl.app_date, appointment_tbl.app_time, patient.Title, patient.first_name, patient.surname, patient.dob FROM appointment_tbl INNER JOIN patient ON appointment_tbl.Customer_ID = patient.Customer_ID where app_date LIKE ('%' || ? || '%') "; 
    pst=conn.prepareStatement(sql); 
    pst.setString(1,sqldate); 
    rs=pst.executeQuery(); 

    if(rs.next()){ 
     String appTime=rs.getString("app_time"); 
     String title=rs.getString("Title"); 
     String fName=rs.getString("first_name"); 
     String sName=rs.getString("surname"); 
     String dob=rs.getString("dob"); 

     switch (appTime) { 
      case "09:00": 
       time0900.setText(title+" "+fName+" "+sName+" "+dob); 
       break; 
      case "09:30": 
       time0930.setText(title+" "+fName+" "+sName+" "+dob); 
       break; 
      case "10:00": 
       time1000.setText(title+" "+fName+" "+sName+" "+dob); 
       break; 
      case "10:30": 
       time1030.setText(title+" "+fName+" "+sName+" "+dob); 
       break; 
      case "11:00": 
       time1100.setText(title+" "+fName+" "+sName+" "+dob); 
       break; 

     } 



    } 
    }catch(Exception e){ 
    JOptionPane.showMessageDialog(null, e); 
    } 

}

cevap

1

Kodunuz if(rs.next()) sadece ilk sonuç satır döndürür. Tüm sonuçlarda yinelenen bir döngü oluşturmak için while(rs.next()) ile değiştirmelisiniz.

+0

Çok teşekkür ederim! – ZeeSoft

+0

Yazara yazara teşekkür etmenin en iyi yolu cevabını kabul etmektir (ve aynı zamanda da muhtemel). – RAnders00