Q&A

  • 쿼리한 데이터값을 배열에 담으려고 하는데여..
또 질문 올리게 됐습니다. 하루에 두번이나 질문을 하네요.
아직 프로그래밍에 왕허접이라서리... T_T

Select한 데이터값을 Select한 Row수만큼 루프를 돌며 배열에 담으려고
하는데요.. 이상하게도 에러는 나지 않는데 배열에 값이 안들어가고
프로그램이 먹통이 되어버려서 이렇게 질문 올립니다요..
델파이선배님들께서 잘못된 부분 바로 잡아주셔요..

**************************스크립트******************************
//쿼리한 데이터 저장
    While Query1.EOF do
        begin
            i_sabun[cnt]    := Query1.FieldByName('T_SABUN').AsString;
            i_buseo[cnt]    := Query1.FieldByName('T_BUSEO').AsString;
            i_email[cnt]    := Query1.FieldByName('T_EMAIL').AsString;
            i_hobong[cnt]   := Query1.FieldByName('T_HOBONG').AsFloat;
            i_bonbong[cnt]  := Query1.FieldByName('T_BONBONG').AsFloat;
            i_maechul[cnt]  := Query1.FieldByName('T_MAECHUL').AsFloat;

            Application.MessageBox(
            PChar('입력정보'+ #13#10 +
            '사원번호 : '   + i_sabun[cnt]  + #13#10 +
            '부서코드 : '   + i_buseo[cnt]  + #13#10 +
            'E-Mail :   '   + i_email[cnt]  + #13#10 +
            '호봉 :     '   + FloatToStr(i_hobong[cnt]) + #13#10 +
            '본봉 :     '   + FloatToStr(i_bonbong[cnt])+ #13#10 +
            '월매출액 : '   + FloatToStr(i_maechul[cnt])+ #13#10 ),
            PChar('확인'),
            MB_OKCANCEL + MB_DEFBUTTON1);

            cnt := cnt + 1 ;
            Query1.Next
        end;
        Query1.Close;
3  COMMENTS
  • Profile
    Cos Consulting 2002.05.25 10:50
    안녕하세요 코스입니다.

           while not query1.EOF 로 하셔야죠.


  • Profile
    한석훈 2002.05.25 18:13
  • Profile
    Runo 2002.05.25 00:46
    저라면 배열에 넣을때 이렇게 할것 같습니다.

    .
    .
    .
    Query1.open;
    Query1.first;
    repeat;
         i_sabun[cnt]    := Query1.FieldByName('T_SABUN').AsString;
         i_buseo[cnt]    := Query1.FieldByName('T_BUSEO').AsString;
         i_email[cnt]    := Query1.FieldByName('T_EMAIL').AsString;
         i_hobong[cnt]   := Query1.FieldByName('T_HOBONG').AsFloat;
         i_bonbong[cnt]  := Query1.FieldByName('T_BONBONG').AsFloat;
         i_maechul[cnt]  := Query1.FieldByName('T_MAECHUL').AsFloat;
         inc(cnt);
        Query1.next;
    until Query1.eof;

    Query1.close;