2016-07-11 9 views
0
private void jselectedhousecomboPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {                 

    String tmp = (String)jselectedhousecombo.getSelectedItem(); 
    String sql = "SELECT H.HOUSE, H.TOTALROOMS, H.BEDSPERROOM, H.ROOMSOCCUPIED, 
         H.ROOMSAVAILABLE, HM.HM_ID, HM.HM_NAME, HM.HM_DEPARTMENT, 
         HM.HOUSE, HM.HM_PHONENUMBER, HM.HM_DATEIN, HM.HM_DATEOUT, 
         HM.HM_RESIDENCE, CA.C_ID, CA.C_NAME, CA.HOUSE, CA.C_PHONENUMBER, 
         CA.C_DATEIN, CA.C_DATEOUT, CA.C_RESIDENCE, HP.HP_REGNO,HP.HP_NAME, HP.HP_FORM, 
         HP.HOUSE,HP.HP_ROOMNO,HP.HP_DATE, HP.HP_DATEOUT  
        FROM HOUSES H  
        JOIN Housemaster HM 
        ON H.HOUSE = HM.HOUSE JOIN Caretaker CA 
        ON H.HOUSE = CA.HOUSE JOIN Houseprefect HP 
        ON H.HOUSE = HP.HOUSE"; 

      try 
      { 

       pst=conn.prepareStatement(sql); 

       pst.setString(1, tmp); 

       rs=pst.executeQuery(); 

      if(rs.next()) 
      { 

       String add=rs.getString("HOUSE"); 
       jselectedhousename.setText(add); 

       String add2=rs.getString("C_NAME"); 
       jselectedhousecaretaker.setText(add2); 

       String add3=rs.getString("HM_NAME"); 
       jselectedhousemaster.setText(add3); 

       String add4=rs.getString("HP_NAME"); 
       jselectedhouseprefect.setText(add4); 

       String add5=rs.getString("TOTALROOMS"); 
       jselectedhousetr.setText(add5); 

       String add6=rs.getString("BEDSPERROOM"); 
       jselectedhousebpr.setText(add6); 

       String add7=rs.getString("ROOMSOCCUPIED"); 
       jselectedhousero.setText(add7); 

       String add8=rs.getString("ROOMSAVAILABLE"); 
       jselectedhousera.setText(add8); 

       String add9=rs.getString("HM_ID"); 
       jselectedhmid.setText(add9); 

       String add10=rs.getString("HM_NAME"); 
       jselectedhmname.setText(add10); 

       String add11=rs.getString("HM_DEPARTMENT"); 
       jselectedhmdept.setText(add11); 

       String add12=rs.getString("HOUSE"); 
       jselectedhmhouse.setText(add12); 

       String add13=rs.getString("HM_PHONENUMBER"); 
       jselectedhmphone.setText(add13); 

       String add14=rs.getString("HM_DATEIN"); 
       jselectedhmdatein.setText(add14); 

       String add15=rs.getString("HM_DATEOUT"); 
       jselectedhmdateout.setText(add15); 

       String add16=rs.getString("HM_RESIDENCE"); 
       jselectedhmresidence.setText(add16); 

       String add17=rs.getString("HP_REGNO"); 
       jselectedhpregno.setText(add17); 

       String add18=rs.getString("HP_NAME"); 
       jselectedhpname.setText(add18); 

       String add19=rs.getString("HP_FORM"); 
       jselectedhpform.setText(add19); 

       String add20=rs.getString("HOUSE"); 
       jselectedhphouse.setText(add20); 

       String add21=rs.getString("HP_ROOMNO"); 
       jselectedhproom.setText(add21); 

       String add22=rs.getString("HP_DATEIN"); 
       jselectedhpdatein.setText(add22); 

       String add23=rs.getString("HP_DATEOUT"); 
       jselectedhpdateout.setText(add23); 

       String add24=rs.getString("C_ID"); 
       jselectedcid.setText(add24); 

       String add25=rs.getString("C_NAME"); 
       jselectedcnames.setText(add25); 

       String add26=rs.getString("HOUSE"); 
       jselectedchouse.setText(add26); 

       String add27=rs.getString("C_PHONENUMBER"); 
       jselectedcphone.setText(add27); 

       String add28=rs.getString("C_DATEIN"); 
       jselectedcdatein.setText(add28); 

       String add29=rs.getString("C_DATEOUT"); 
       jselectedcdateout.setText(add29); 

       String add30=rs.getString("C_RESIDENCE"); 
       jselectedcresidence.setText(add30); 


      } 
    } catch (Exception e) 
    { 
     System.out.println(e); 
     e.printStackTrace(); 
     JOptionPane.showMessageDialog(null, e); 
    } 
      finally 
    { 
     try { 
      rs.close(); 
      pst.close(); 
     } catch (Exception e) { 
     } 
    } 

    // TODO add your handling code here: 
} 
+0

'f에서 e부터 선택 (c에서 d 선택)이 허용됩니다. '를 선택하고'f에서 f를 선택하십시오. ' ** 허용되지 않습니다 **. – luk2302

+0

당신이 실제로하려고하는 것은 다른 구문을 가진'Join'입니다. – luk2302

+0

고맙습니다 .... 제발 나를 위해 정확한 구문을 입력 해주세요 –

답변

1

SELECT 문에 너무 많은 행을 반환하려고합니다. SELECT 문 안에 SELECT 문이 있으면 1 행만 반환 할 수 있습니다.

여러 테이블을 함께 가입해야합니다. 나는 당신의 테이블의 정확한 스키마를 모르겠지만, 내가 추측을해야한다면, 나는이 후있어 무엇을 말하고 싶지만 : SQL에

SELECT H.HOUSE,H.TOTALROOMS,H.BEDSPERROOM,H.ROOMSOCCUPIED,H.ROOMSAVAILABLE, 
     HM.ID,HM.NAME,HM.DEPARTMENT,HM.HOUSE,HM.PHONENUMBER,HM.DATEIN,HM.DATEOUT,HM.RESIDENCE, 
     CA.ID,CA.NAME,CA.HOUSE,CA.PHONENUMBER,CA.DATEIN,CA.DATEOUT,CA.RESIDENCE, 
     HP.REGNO,HP.NAME,HP.FORM,HP.HOUSE,HP.ROOMNO,HP.DATEIN,HP.DATEOUT 
FROM HOUSES H JOIN HOUSEMASTER HM ON H.HOUSE = HM.ROWID 
       JOIN CARETAKER CA ON H.HOUSE = CA.ROWID 
       JOIN HOUSEPERFECT HP ON H.HOUSE = HP.ROWID; 

읽기 this guide 더 많은 정보를 원하시면 문을 가입하세요.

+0

예 텍스트 필드에 모든 항목을 표시하려고 시도 중입니다 ............. 감사합니다. Lemme가 그 중 하나를 시도하고 볼 수 있습니다 .... 아프지 말고 다시 받으십시오. –

+0

오타가 있음을 깨달았습니다. 이 코드를 사용해보십시오. – nicholas79171

+0

이제이 메시지가 나타납니다. java.lang.ArrayIndexOutOfBoundsException : 0 ........ 수정되었습니다. 코드 "선택 H.HOUSE, H.TOTALROOMS, H.BEDSPERROOM, HROOMSOCCUPIED, H.ROOMSAVAILABLE, HM.ID, HM.NAME, HM.DEPARTMENT, HM.HOUSE, HM.PHONENUMBER, HM.DATEIN, HM.DATEOUT, HM.RESIDENCE, CA.ID, CA.NAME, CA.HOUSE, CA. PHENENUMBER, CA.DATEIN, CA.DATEOUT, CA.RESIDENCE, HP.REGNO, HP.NAME, HP.FORM, HP.HOUSE, HP.ROOMNO, HP.DATEIN, HP.DATEOUT 주택에서 H 조인 Housemaster HM ON H. HOUSE = HM.HOUSE JOIN Caretaker CAHHUSE = CA.HOUSE JOIN Houseprefect HP ONHHOUSE = HP.HOUSE "; –