|
bool __fastcall TFrmMain::CreateDB(TTable *LinkTable)
{
if(LinkTable->Exists)
{
ShowMessage("Exists");
}
else {
LinkTable->FieldDefs->Clear();
// テーブル内にフィールドを記述する
TFieldDef *pNewDef = LinkTable->FieldDefs->AddFieldDef();
pNewDef->Name = "NUM";
pNewDef->DataType = ftInteger;
pNewDef->Required = true;
pNewDef = LinkTable->FieldDefs->AddFieldDef();
pNewDef->Name = "ROOT_ID";
pNewDef->DataType = ftString;
pNewDef->Size = 30;
pNewDef = LinkTable->FieldDefs->AddFieldDef();
pNewDef->Name = "LINK_ID";
pNewDef->DataType = ftString;
pNewDef->Size = 30;
// インデックスを記述する
LinkTable->IndexDefs->Clear();
/* この場合,最初のインデックスは Paradox の一次キーであるため,名前は付いていない */
LinkTable->IndexDefs->Add("","NUM", TIndexOptions() <<ixPrimary << ixUnique);
// 必要な内容を指定したので,テーブルを作成する
LinkTable->CreateTable();
LinkTable->Close();
}
return true;
}
bool __fastcall TFrmMain::InsertDB(AnsiString ROOTID, AnsiString LINKID)
{
TTable *LinkTable = new TTable(FrmMain);
LinkTable->DatabaseName = "STANDARD1";
LinkTable->TableType = ttParadox;
LinkTable->TableName = "test0718.db";
if(LinkTable->Exists)
{
LinkTable->Active = false;
LinkTable->Open();
LinkTable->Append();
LinkTable->FieldByName("ROOT_ID")->AsString = ROOTID;
LinkTable->FieldByName("LINK_ID")->AsString = LINKID;
LinkTable->Post();
}
return true;
}
NUM이 숫자를 입력받을때마다 자동으로 증가하는 값으로 만들려고 합니다.
위와같이 코딩했는데 계속해서 에러가 나네요..
|