Q&A

  • 동적테이블 생성하는 방법~????
예제 코딩을 보여주시면 더욱더 좋구요~~



하나의 동적테이블이 아닌 여러개가



만들어 져야 하는데요~ (년마다 하나씩 테이블이 늘어나죠~)



책에서는 Table 컴포넌트를 쓰던데...



그러면 테이블을 해마다 만들수 없잖아요~



해마다 Table1,2,3,... 처럼 컴포넌트를 증가시킬수도 없고...



제가 몰라서 그런가요?? 아님 되나요???



읽어 주셔서 감사합니다.

4  COMMENTS
  • Profile
    손용석 2001.01.31 18:33
    부족하나마 몇자 적어 보겠습니다...~~!!



    var

    taTEST : TTabel;

    begin

    taTEST := TTable.Create(Self); // 혹은 TTable.Create(Application);

    taTEST.DatabaseName := DatabaseName; //Alias 혹은 경로(Path)

    taTEST.TableName := 'Table' + FormatDateTime('YYYYMMDD',Now);

    taTEST.TableType := ttParadox; //ttDefault, ttASCII, ttDBase



    //필드 정의

    with taTEST.FieldDefs do begin

    Clear;

    Add('Name', ftString, 30, False);

    Add('Sex', ftString, 30, False);

    Add('Address', ftString, 40, False);

    Add('City', ftString, 20, False);

    end;



    //Primary Key

    taTEST.IndexDefs.Clear;

    taTEST.IndexDefs.Add('Field1Index', 'Name;Sex', [ixPrimary, xUnique]);



    //테이블 생성

    taTest.CreateTable;



    taTest.Open;

    ///////////////

    //테이블 작업//

    ///////////////

    taTest.Close;

    taTest.Free;

    end;



    많은 도움이 되셨으면 좋겠네여~~!!?



    그럼 ^.^;





    jin wrote:

    > 예제 코딩을 보여주시면 더욱더 좋구요~~

    >

    > 하나의 동적테이블이 아닌 여러개가

    >

    > 만들어 져야 하는데요~ (년마다 하나씩 테이블이 늘어나죠~)

    >

    > 책에서는 Table 컴포넌트를 쓰던데...

    >

    > 그러면 테이블을 해마다 만들수 없잖아요~

    >

    > 해마다 Table1,2,3,... 처럼 컴포넌트를 증가시킬수도 없고...

    >

    > 제가 몰라서 그런가요?? 아님 되나요???

    >

    > 읽어 주셔서 감사합니다.

  • Profile
    jin 2001.01.31 18:55
    jin>>> error메시지: Duplicate index name''



    With Table1.FieldDefs do

    begin

    clear;

    Add('Division',ftSmallint,0,True);

    Add('DutyNumber',ftSmallint,0,True);

    Add('Amount',ftInteger,0,True);

    end;



    With Table1.IndexDefs do

    begin

    clear;

    Add('','Division',[ixPrimary, ixUnique]);

    Add('','DutyNumber',[ixPrimary, ixUnique]); ->요기서 error!!

    end;



    Table1.CreateTable;

    Table1.Open;



    어케된 일인가요???

    읽어 주셔서 고맙습니다.





    손용석 wrote:

    > 부족하나마 몇자 적어 보겠습니다...~~!!

    >

    > var

    > taTEST : TTabel;

    > begin

    > taTEST := TTable.Create(Self); // 혹은 TTable.Create(Application);

    > taTEST.DatabaseName := DatabaseName; //Alias 혹은 경로(Path)

    > taTEST.TableName := 'Table' + FormatDateTime('YYYYMMDD',Now);

    > taTEST.TableType := ttParadox; //ttDefault, ttASCII, ttDBase

    >

    > //필드 정의

    > with taTEST.FieldDefs do begin

    > Clear;

    > Add('Name', ftString, 30, False);

    > Add('Sex', ftString, 30, False);

    > Add('Address', ftString, 40, False);

    > Add('City', ftString, 20, False);

    > end;

    >

    > //Primary Key

    > taTEST.IndexDefs.Clear;

    > taTEST.IndexDefs.Add('Field1Index', 'Name;Sex', [ixPrimary, xUnique]);

    >

    > //테이블 생성

    > taTest.CreateTable;

    >

    > taTest.Open;

    > ///////////////

    > //테이블 작업//

    > ///////////////

    > taTest.Close;

    > taTest.Free;

    > end;

    >

    > 많은 도움이 되셨으면 좋겠네여~~!!?

    >

    > 그럼 ^.^;

    >

    >

    > jin wrote:

    > > 예제 코딩을 보여주시면 더욱더 좋구요~~

    > >

    > > 하나의 동적테이블이 아닌 여러개가

    > >

    > > 만들어 져야 하는데요~ (년마다 하나씩 테이블이 늘어나죠~)

    > >

    > > 책에서는 Table 컴포넌트를 쓰던데...

    > >

    > > 그러면 테이블을 해마다 만들수 없잖아요~

    > >

    > > 해마다 Table1,2,3,... 처럼 컴포넌트를 증가시킬수도 없고...

    > >

    > > 제가 몰라서 그런가요?? 아님 되나요???

    > >

    > > 읽어 주셔서 감사합니다.

  • Profile
    손용석 2001.01.31 19:39
    Add('','Division',[ixPrimary, ixUnique]);

    Add('','DutyNumber',[ixPrimary, ixUnique]); ->요기서 error!!



    이미 Key는 선언 되었는데 또 선언 할려니 중복(Duplicate) 에러가 나지 않나여...???



    Division과 DutyNumber 두 필드를 Key로 잡을려면

    Add를 두 줄로 할것이 아니라



    Add('','Division;DutyNumber',[ixPrimary, ixUnique]);



    세미콜론으로 구분지어야 되는거 같은데...???



    델파이5 헬프 내용입니다.

    Fields is a list of fields separated by semi-colons (no semi-colon is required if the index is based on only one field).



    많은 도움이 되셨으면 좋겠네여~~~!!!??



    그럼 ^.^;



    jin wrote:

    > jin>>> error메시지: Duplicate index name''

    >

    > With Table1.FieldDefs do

    > begin

    > clear;

    > Add('Division',ftSmallint,0,True);

    > Add('DutyNumber',ftSmallint,0,True);

    > Add('Amount',ftInteger,0,True);

    > end;

    >

    > With Table1.IndexDefs do

    > begin

    > clear;

    > Add('','Division',[ixPrimary, ixUnique]);

    > Add('','DutyNumber',[ixPrimary, ixUnique]); ->요기서 error!!

    > end;

    >

    > Table1.CreateTable;

    > Table1.Open;

    >

    > 어케된 일인가요???

    > 읽어 주셔서 고맙습니다.

  • Profile
    jin 2001.01.31 19:53
    손용석 wrote:

    > Add('','Division',[ixPrimary, ixUnique]);

    > Add('','DutyNumber',[ixPrimary, ixUnique]); ->요기서 error!!

    >

    > 이미 Key는 선언 되었는데 또 선언 할려니 중복(Duplicate) 에러가 나지 않나여...???

    >

    > Division과 DutyNumber 두 필드를 Key로 잡을려면

    > Add를 두 줄로 할것이 아니라

    >

    > Add('','Division;DutyNumber',[ixPrimary, ixUnique]);

    >

    > 세미콜론으로 구분지어야 되는거 같은데...???

    >

    > 델파이5 헬프 내용입니다.

    > Fields is a list of fields separated by semi-colons (no semi-colon is required if the index is based on only one field).

    >

    > 많은 도움이 되셨으면 좋겠네여~~~!!!??

    >

    > 그럼 ^.^;

    >

    > jin wrote:

    > > jin>>> error메시지: Duplicate index name''

    > >

    > > With Table1.FieldDefs do

    > > begin

    > > clear;

    > > Add('Division',ftSmallint,0,True);

    > > Add('DutyNumber',ftSmallint,0,True);

    > > Add('Amount',ftInteger,0,True);

    > > end;

    > >

    > > With Table1.IndexDefs do

    > > begin

    > > clear;

    > > Add('','Division',[ixPrimary, ixUnique]);

    > > Add('','DutyNumber',[ixPrimary, ixUnique]); ->요기서 error!!

    > > end;

    > >

    > > Table1.CreateTable;

    > > Table1.Open;

    > >

    > > 어케된 일인가요???

    > > 읽어 주셔서 고맙습니다.