利用cb在数据库中建表的问题

ljlgtj 2002-05-27 11:41:40
在帮助中有下面几行代码,其中
TFieldDef *pNewDef = Table1->AddFieldDef();报错,说Table控件中没有这个函数,请问我应该怎么改才能使这段代码运行正确呢?是不是需要家头文件?(下面是代码原文)
求各位高人指教!!!
谢谢





if (!Table1->Exists) // Don't overwrite an existing table

{

Table1->Active = false; // The Table component must not be active

// First, describe the type of table and give it a name
Table1->DatabaseName = "BCDEMOS";
Table1->TableType = ttParadox;

Table1->TableName = "CustInfo";

// Next, describe the fields in the table

Table1->FieldDefs->Clear();
TFieldDef *pNewDef = Table1->AddFieldDef();
pNewDef->Name = "Field1";
pNewDef->DataType = ftInteger;

pNewDef->Required = true;

pNewDef = Table1->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();
}
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqianlei 2002-05-28
  • 打赏
  • 举报
回复
应该将TFieldDef *pNewDef = Table1->AddFieldDef();
改为

TFieldDef *pNewDef = Table1->FieldDefs->AddFieldDef();
TR@SOE 2002-05-28
  • 打赏
  • 举报
回复
如果我的记忆没有错,那么应该是形如:

Table1->Fields->AddFieldRef(...)才比较对吧?
dealxl 2002-05-28
  • 打赏
  • 举报
回复
有些时候事情远没有想象的复杂,看看你的对象名是不是写错了!

比方说,我经常将“Table1”写成“Table”,这样就找不到对象了 报同样的错。看看?? :)
skyhole 2002-05-27
  • 打赏
  • 举报
回复
你在后面加一条语句:
Table1->Active=true;
看看行不行

1,178

社区成员

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

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