|
질문이 님이 쓰신 글 :
: 파라독스 DB 로 테이블을 생성할려고 합니다.
: Desktop을 이용하지 않고
: 순수 SQL문으로 만들려고 합니다.
: 1)
: CREATE TABLE 테이블명 (
: SEQ int NOT NULL, --->여기서 NOT NULL 아 되네요.. 다른 방법이 있느지요.
: NAME varchar(20)
: )
:
: 2) auto_increment 를 어떻게 만드나요..
:
: 아시는 분은 대답 해 주시면 정말로 감사 합니다.
auto increment는 잘 모르겠구요..
빌더 도움말에 보시면 아래와 같이 나와 있습니다. 해보니 잘 되네요.
전 테이블은 아래와 같이 만듭니다.
TTable *exam_table= new TTable(Form1);
exam_table->Active=false;
exam_table->DatabaseName = "exam_table";
exam_table->TableName ="exam_table.db";
exam_table->TableType = ttParadox;
exam_table->FieldDefs->Clear();
//실제적으로 데이블 만드는 루틴.
TFieldDef *NewField;
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftInteger;
// NewField->Size = 8;
NewField->Name = "field1";
NewField->Required = true;
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 8;
NewField->Name = "field2";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 20;
NewField->Name = "field3";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 25;
NewField->Name = "field4";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 15;
NewField->Name = "field5";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 13;
NewField->Name = "field5";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 13;
NewField->Name = "field6";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 13;
NewField->Name = "field7";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 13;
NewField->Name = "field8";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 30;
NewField->Name = "field9";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 80;
NewField->Name = "field10";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 80;
NewField->Name = "field11";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 10;
NewField->Name = "field12";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 30;
NewField->Name = "field13";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 15;
NewField->Name = "field14";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftString;
NewField->Size = 40;
NewField->Name = "field15";
NewField = exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftParadoxOle;
NewField->Size = 240;
NewField->Name = "field16";
NewField=exam_table->FieldDefs->AddFieldDef();
NewField->DataType = ftFmtMemo;
NewField->Size=500;
NewField->Name="field17";
//ZEPIROX 2003/5/14 아래의 코드가 들어가면 위에서 설정해준 값들이 모두 초기화되어
//Invalid parameter Error가 뜨게 된다. 없는게 맞다.
// exam_table->FieldDefs->Clear();
exam_table->CreateTable();
이렇게 해주면 Table이 만들어집니다.
코드중 NewField->DataType = "" 은 해당 필드 타입입니다.
필드 타입은 빌더 도움말을 참고하세요.
그럼 도움이 되셨길 바랍니다.
|