Q&A

  • 동적쿼리생성+동적생성룩업필드..
안녕하세요.
쿼리를 동적생성한 후에
SQL문 입력후 필드의 일부분을 룩업형태의 필드로 추가할려고 합니다.
A테이블값을 조회후 해당하는 필드의 값과 일히하는 B의 테이블에서 값을 가져오려 합니다.

그런데 값이 들어오지가 않네요..음..

그리고 1번 대신 마지막 주석 2번을  써도 같을것 같은데 2번 응용이 잘 안되는군요
아시는분 답변 부탁드립니다..

var
DynamicSField[i + 1] := TStringField;

procedure TForm1.Button1.Click( Sender );
begin
    //쿼리 생성 및 SQL 입력
     .
     .
     .
     DynamicQry[i + 1].SQL.Add( ' AND DATE = :AAA BETWEEN :BBB ' );

1)      DynamicSField[i + 1] := TStringField.Create( DynamicQry[i + 1] );
False );
      with DynamicSField[i + 1] do
      begin
         Name := 'DynamicQry' + inttostr(i + 1) + 'OfficeName';

         FieldKind := fkLookup;
         FieldName := 'OFFICENAME';
         LookupDataSet := Q_Office;
         LookupKeyFields := 'Cm_CstCd';
         LookupResultField := 'Cm_Name';
         KeyFields := 'OFFICECD';
         Size := 30;
         Lookup := True;
      end;

       ParamByName( 'aaa' ).AsString := '111';
       ParamByName( 'bbb' ).AsString := '222';
 
      DynamicQry[i + 1].FieldDefs.Update;
     
       DynamicQry[i + 1].Open;


2) //      DynamicQry[i + 1].FieldDefs.Add( 'OFFICENAME', ftString, 30, );

end;
2  COMMENTS
  • Profile
    정경철 2002.10.12 00:19
    쿼리문을 다음과 같이 한번 해보십시오..

    select 필드1, 필드2
    from Table1
    where 필드1 in (select 필드1 from Table2 where 필드3 = 조건)

    좋은 하루 되십시오.


  • Profile
    정성훈 2002.10.12 00:33
    질문을 잘 이해못하신것 같은데..
    제가 원하는것은 동적으로 만든 쿼리에
    룩업필드를 생성하는 것입니다.
    데이타베이스가 Table1 과 Table2 가 서로 틀립니다
    룩업을 굳이 쓰려는 이유는 임시필드 만들어서 값을 넣으면
    속도가 많이 저하되기 때문입니다...
    만약 아래같이 해야 한다면 테이블마다 데이터베이스명을 주어야 하는게 아닌지요?
    지금 조인하는 테이블이 총10개인데 ㅡ.ㅡ