程序中定义表,只能用BDE中的TTable?不能用TADOTable么?
Table1->Active = false; // The Table component must not be active
Table1->DatabaseName = "BCDEMOS";
Table1->TableType = ttParadox;
Table1->TableName = "CustInfo";
if (!Table1->Exists) // Don't overwrite an existing table
{
// describe the fields in the table
Table1->FieldDefs->Clear();
TFieldDef *pNewDef = Table1->FieldDefs->AddFieldDef();
pNewDef->Name = "Field1";
pNewDef->DataType = ftInteger;
pNewDef->Required = true;
pNewDef = Table1->FieldDefs->AddFieldDef();
pNewDef->Name = "Field2";
pNewDef->DataType = ftString;
pNewDef->Size = 30;
// Next, describe any indexes
Table1->IndexDefs->Clear();
/* the 1st index has no name because it is a Paradox primary key */
Table1->IndexDefs->Add("","Field1", TIndexOptions() <<ixPrimary << ixUnique);
Table1->IndexDefs->Add("Fld2Index","Field2", TIndexOptions() << ixCaseInsensitive);
// Now that we have specified what we want, create the table
Table1->CreateTable();
}
这是帮助上建表的例子,但我的程序中都是用的ADO方式连接的。
虽然TADOTable也有FieldDefs属性,但这一句话在编译时出错:
TFieldDef *pNewDef = ADOTable1->FieldDefs->AddFieldDef();
E2247:'TCustomADODataset::FieldDefs' is not accesible
难道要在程序中建表就只能用BDE方式连接么?如果只能这样,那BDE又是不是只能手动建ODBC数据源了来连接?