Q&A

  • Tablel or Query에서 Field추가..
항상 도움을 주셔서 감사합니다.

RunTime시에 Table 또는 Query에 필드를 넣으려 합니다.

각 필드마다 속성과 Size가 달라 어떻게 해야할지 .....

(Calculated가 아닌 DataBase Table 에 있는 Field입니다.)





3  COMMENTS
  • Profile
    신인재 1999.04.22 19:50
    권용만 wrote:

    > 항상 도움을 주셔서 감사합니다.

    > RunTime시에 Table 또는 Query에 필드를 넣으려 합니다.

    > 각 필드마다 속성과 Size가 달라 어떻게 해야할지 .....

    > (Calculated가 아닌 DataBase Table 에 있는 Field입니다.)

    >

    >



    Table1.FieldDefs.Add를 써보세요...



    Table1은 Close 상태여야 하고요.....

  • Profile
    권용만 1999.04.22 22:56
    신인재 wrote:

    > 권용만 wrote:

    > > 항상 도움을 주셔서 감사합니다.

    > > RunTime시에 Table 또는 Query에 필드를 넣으려 합니다.

    > > 각 필드마다 속성과 Size가 달라 어떻게 해야할지 .....

    > > (Calculated가 아닌 DataBase Table 에 있는 Field입니다.)

    > >

    > >

    >

    > Table1.FieldDefs.Add를 써보세요...

    >

    > Table1은 Close 상태여야 하고요.....

    감사합니다.

    해봤는데 잘않되는 군요.

    Sample 부탁합니다.

  • Profile
    신인재 1999.04.23 00:43
    권용만 wrote:

    > 신인재 wrote:

    > > 권용만 wrote:

    > > > 항상 도움을 주셔서 감사합니다.

    > > > RunTime시에 Table 또는 Query에 필드를 넣으려 합니다.

    > > > 각 필드마다 속성과 Size가 달라 어떻게 해야할지 .....

    > > > (Calculated가 아닌 DataBase Table 에 있는 Field입니다.)

    > > >

    > > >

    > >

    > > Table1.FieldDefs.Add를 써보세요...

    > >

    > > Table1은 Close 상태여야 하고요.....

    > 감사합니다.

    > 해봤는데 잘않되는 군요.

    > Sample 부탁합니다.



    쩝 죄송합니다. 제가 문제를 잘못 이해 했군요....

    아래와 같은 sql로 해당 테이블과 필드로 바꾸고

    Query1.sql에 넣구 execsql로 실행해 보세요...쩝

    되면 좋구 안되면 dbidorestruct가 하는 BDE api를

    써야 되는데 쓰는 방법이 만만치 않군요...쩝



    ALTER TABLE "customer.db"

    ADD "customer.db"."code" CHAR(3)



    음냐 영재님의 팁에서 가져온 것두 있네요... 아래의 코드를 참조하세요



    동적으로 필드 생성하기...



    procedure TForm1.Button2Click(Sender: TObject);

    var

    T: TStringField;

    begin

    Query1.Close;

    T := TStringField.Create(Self);

    T.FieldName := 'CO_NAME';

    T.Name := Query1.Name + T.FieldName;

    T.Index := Query1.FieldCount;

    T.DataSet := Query1;

    Query1.FieldDefs.UpDate;

    Query1.Open;

    end;



    동적으로 생성한 필드 Free 시키기...



    procedure TForm1.Button1Click(Sender: TObject);

    var

    TC: TComponent;

    begin

    TC := FindComponent('Query1CO_NAME');

    if not (TC = nil) then begin

    Query1.Close;

    TC.Free;

    Query1.Open;

    end;

    end;