程序中定义表,只能用BDE中的TTable?不能用TADOTable么?

show_me_the_money 2003-09-12 01:08:01
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数据源了来连接?
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
freshman2003 2003-09-12
  • 打赏
  • 举报
回复
陆指的同道,难得,难得,有空到飞逝论坛交流。
binbin 2003-09-12
  • 打赏
  • 举报
回复
可以直接用AdoCommand控件来创建表,在AdoCommand
的CommandText输入创建表的SQL语句,再执行即可。
binbin 2003-09-12
  • 打赏
  • 举报
回复
直接用SQL建表不就行了.
快速开发平台 2003-09-12
  • 打赏
  • 举报
回复
推荐用dbExpress,下一代的BDE,跨平台。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧