Q&A

  • 파라독스 임시테이블 만들기..
//아래 소스는 질답란에서 찾은 소스입니다. 답히신 분은 밝히지 않겠습니다.
필드를 생성하는중에 Number, Char 타입과
  기본키를 한개 이상 지정 하고 싶습니다. 가르쳐 주십시요.
감사합니다.

procedure TFmB7011.BitBtn2Click(Sender: TObject);
var   TableList : TStringList;
        i : Integer;
begin
   TableList := TStringList.Create;
   try
      // TaeManm.DB 존재유무 체크 후 존재하면 삭제
      Session.GetTableNames('TaeManm', '*.DB', False, False, TableList);
      for i := 0 to TableList.Count - 1 do begin
         if TableList.Strings[i] = 'test1' then begin
            ShowMessage('찾았습니다. 삭제합니다.');
            with SQL7013 do begin
               DatabaseName := 'TaeManm';
               Close;
               SQL.Clear;
               SQL.Add('drop table ''Test1.DB''');
               ExecSQL;
            end;
         end;
      end;
   finally
      TableList.Free;
   end;

   with Table1 do begin
      Active := False;           // Table을 Disconnect시킨다
      DatabaseName := 'TaeManm';  // Database Alias
      TableName := 'test1';      // Table Name
      TableType := ttParadox;    // Type = ttDefault, ttParadox, ttDbase

      with FieldDefs do begin    //Field 집합형
         Clear;
         Add('Field1', ftString, 10, True);  // FieldName, FieldType, Size, Required
         Add('Field2', ftString, 25, False);
         Add('Field3', ftString, 30, False);
         Add('T_usc', ftString, 15, False);
        //요기서 Number를 타입으로 주고 싶은데요 어찌 해야 하나요?
        //또 Char 타입은 어찌 주는가요?  아래는 둘다 에러입니다.
         //Add('T_amnt', ftfloat, 12,  False );
         //Add('T_clcd', ftChar, 4, False);
      end;

      with IndexDefs do begin
         Clear;
         Add('Index1', 'Field1', [ixPrimary, ixUnique]); // IndexName, FieldName, Type
         //위 구문으로 키값이 한개 정해졌는데요.. 한개 이상은 어찌 지정해주나요?   궁금합니다.

      end;
      CreateTable; // Table 생성
   end;

   showmessage('생성');
end;
1  COMMENTS
  • Profile
    김진용 2003.05.10 20:07
    이렇게 해보세요....

        with Query1 do  begin
             DatabaseName := 'DBDemos';
             with SQL do   begin
                  Clear;
                  Add('CREATE TABLE "PDoxTbl.db" (ID AUTOINC,');
                  Add('Name CHAR(255),        ');
                  Add('qty  NUMERIC,          ');
                  Add('PRIMARY KEY(ID))       ');
                  ExecSQL;
                  Clear;
                  Add('CREATE INDEX ByName ON "PDoxTbl.db" (Name)');
                  ExecSQL;
             end;
        end;