怎样创建DataSet?

kmwy 2003-08-22 09:40:52
在运行过程中,如何创建一个5个字段的临时DataSet,并能往里面写数据?
...全文
229 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmwy 2003-08-24
  • 打赏
  • 举报
回复
问题已经解决,谢谢大家!
kmwy 2003-08-24
  • 打赏
  • 举报
回复
请问 ljianq() ,当DataType=ftBCD,Size=34时提示无效的Size,不知为何?
DataType和Size分别取自另一个Table的Fields->Fields[0]->DataType和
Fields->Fields[0]->DataSize。谢谢!
ljianq 2003-08-22
  • 打赏
  • 举报
回复
TFieldDefs *pDefs = ClientDataSet1->FieldDefs;
TFieldDef *pDef = pDefs->AddFieldDef();
pDef->DataType = ftInteger;
pDef->Name = "Field1";

pDef = pDefs->AddFieldDef();
pDef->DataType = ftString;
pDef->Size = 10;
pDef->Name = "Field2";

TIndexDef *pIDef = ClientDataSet1->IndexDefs->AddIndexDef();
pIDef->Fields = "Field1";
pIDef->Name = "IntIndex";

ClientDataSet1->CreateDataSet();
kmwy 2003-08-22
  • 打赏
  • 举报
回复
我执行要一个临时的DataSet,而且不想跟数据库打交道,数据是我在程序中填进去
windlyzhang 2003-08-22
  • 打赏
  • 举报
回复
这是动态的创建一个Table的例子,希望能给你帮助

TTable *NewTable = new TTable(Form1);

NewTable->Active = false;
NewTable->DatabaseName = "BCDEMOS";
NewTable->TableName = Edit1->Text;
NewTable->TableType = ttDefault;
NewTable->FieldDefs->Clear();

TFieldDef *NewField = NewTable->FieldDefs->AddFieldDef(); // define first field

NewField->DataType = ftInteger;
NewField->Name = Edit2->Text;
NewField = NewTable->FieldDefs->AddFieldDef(); // define second field

NewField->DataType = ftString;
NewField->Size = StrToInt(Edit3->Text);
NewField->Name = Edit4->Text;

NewTable->IndexDefs->Clear();
TIndexDef *NewIndex = NewTable->IndexDefs->AddIndexDef(); // add an index
NewIndex->Name = "PrimaryIndex";
NewIndex->Fields = Edit2->Text;
NewIndex->Options << ixPrimary << ixUnique;

// Now check for prior existence of this table
bool CreateIt = (!NewTable->Exists);
if (!CreateIt)
if (Application->MessageBox((AnsiString("Overwrite table ") + Edit1->Text +
AnsiString("?")).c_str(),

"Table Exists", MB_YESNO) == IDYES)
CreateIt = true;
if(CreateIt)
NewTable->CreateTable(); // create the table
netsys2 2003-08-22
  • 打赏
  • 举报
回复
TDataSet is the base class for all dataset components that represent data in rows and columns.

就是说,当你用TTABLE或者TQUERY时,查询出的数据集就是一个TDataSet.
netsys2 2003-08-22
  • 打赏
  • 举报
回复
TDataSet is the base class for all dataset components that represent data in rows and columns.

就是说,当你用TTABLE或者TQUERY时,查询出的数据集就是一个TDataSet.

1,178

社区成员

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

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