Q&A

  • [질문]Indy9에서 클라이언트에서 서버로 쿼리문을 보내고..

Msg1 := fOID+#2+'3Select ADate from AutoUpdate Where Gubun = ''0'' And UserId = ''' + fOID + '''';
  with frmLogOn.IdTCPClient do begin
     if Connected = False then Connect;
     try
        WriteLn(Msg1);
        try
           Msg1 := ReadLn;
        except
           Msg1 := '';
        end;
     except
        on E : Exception do begin
           ShowMessage(E.Message);
        end;
     end;
  end;

 

위 처럼...

클라이언트에서 쿼리를 날리면 서버에서 받아서.. 쿼리를 실행하고..

결과 값을 받아서 다른 작업을 처리 하려고 하는데요..

 

클라이언트에서 자주 보내다 보니...

결과 값이 오기 전에 다른 쿼리문을 보내게 되고 이렇게 중복되다 보니..

결과 값을 못받는 경우가 생기더군요..

 

검색해서 읽어 보니..

스레드를 생성해서 결과 값을 기다려야 한다고 하는데...

어떻게 해야 하는지 방법좀 알려 주세요.

 

간단한 소스 코드로 부탁드립니다..

2  COMMENTS