안녕하세요 ^^;
고수님들
다름이 아니라 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;