2016-03-22 3 views
0

こんにちは私は、データベースからの結果を時間に基づいて別のテキストフィールドに設定しようとしています。例えば。これは私が特定の日付のデータを取得したが、テキストボックスに最初の結果を入れるだけの予定ビューアです。Javaは、スイッチを使用して1つのSQL結果を表示します

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); 
    } 

}

答えて

1

あなたコードif(rs.next())は、最初の結果行を返します。 すべての結果を繰り返し処理するループを作成するには、while(rs.next())に置き換える必要があります。

+0

ありがとうございます! – ZeeSoft

+0

投稿者に感謝する最善の方法は、回答を受け入れることです(そしてupvoteも可能です)。 – RAnders00

関連する問題