Q&A

  • 다시한번 질문입니다. 이문제 꼭좀 해결해 주세요 ㅜ.ㅜ
안녕하세요 ^^;

고수님들

다름이 아니라 TQuery를 2개사용해서 하나에서 얻은 쿼리값을 가지고

다른 쿼리에서 반복수행하여 조건에 해당하는 내용을 얻어내는 것입니다.

그런데 잘 안되네요 도움부탁드립니다.



첫번째 Query2에서 agency_id 내용 전부를 읽어드려

그 읽어드린 id로 순차적으로 반복수행하여

두번째 Query1에서 id에 맞는 내용만 찾아서 GRide 에 뿌려주는

내용입니다.

그런데 아래의 소스와 같이 실행을 시키면

f_test 테이블에 있는 첫번째 레코드 하나만 보여지고 나머지는 보여지지 않는군요

이유가 뭔지요?

무엇이 잘못되었는지...도움부탁드립니다.

주석을 달아주시면 감사하겠습니다.

소스는 아래와 같습니다.



procedure TForm1.Button1Click(Sender: TObject);

var

oldBookmark : TBookmark;

begin

Query2.Close;

Query2.Sql.Clear;

Query2.Sql.Add('select * from f_test');

Query2.Open;

vid := Query2.Fields[1].AsString;

oldBookmark := Query2.GetBookmark;



repeat

Query1.Close;

Query1.Sql.Clear;

Query1.Sql.Add('select * from t_agency');

Query1.Sql.Add(' where agency_id=:v_1');

Query1.ParamByName('v_1').asstring := vid;

Query1.Open;

Query2.Next;

until Query2.EOF;

Query2.GotoBookmark(oldBookmark);

Query2.FreeBookmark(oldBookmark);

end;

10  COMMENTS