求教:为啥 DBGrid 中没有显示

tigerlhp 2010-07-18 11:03:37
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
//------------
Table1->Active = false;
Table1->DatabaseName = "newData";
Table1->TableType = ttFoxPro;
Table1->TableName = "new";

//--------------
//Table1->FieldDefs->Clear();
//Table1->FieldDefs->Add("SNO",ftInteger,0,false);
//Table1->FieldDefs->Add("Name",ftString,30,false);
//Table1->FieldDefs->Add("Add",ftString,50,false);
//Table1->FieldDefs->Add("Del",ftString,20,false);

Table1->FieldDefs->Clear();
TFieldDef* pdf;

pdf = Table1->FieldDefs->AddFieldDef();
pdf->Name = "SNO";
pdf->DataType = ftInteger;
pdf->Required = true;

pdf = Table1->FieldDefs->AddFieldDef();
pdf->Name = "Name";
pdf->DataType = ftString;
pdf->Size = 30;

/*
Table1->IndexDefs->Clear();
Table1->IndexDefs->Add("","Field1", TIndexOptions()<<ixPrimary <<ixUnique);
Table1->IndexDefs->Add("Fld2Index","Field2", TIndexOptions()<<ixCaseInsensitive);

*/ //----
try
{
Table1->CreateTable();
}catch(...)
{
ShowMessage("产生数据表失败");
}

}

先点击它 创建成功了

//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
static int iNum = 1;

Table1->Active = false;
Table1->DatabaseName = "newData";
Table1->TableType = ttFoxPro;
Table1->TableName = "new";

Table1->Open();
Table1->Append();
Table1->FieldByName("SNO")->AsInteger = iNum;
Table1->FieldByName("Name")->AsAnsiString = MsgSprintf("name%d",iNum);;
Table1->Post();
//Table1->First();
//Table1->Close();
iNum++;

Edit5->Text = Table1->RecordSize;
Edit3->Text = Table1->FieldDefs->Count;
Edit4->Text = Table1->FieldCount;
}

再点击它 貌是添加成功了


void __fastcall TForm1::Button6Click(TObject *Sender)
{
Table1->Active = false;
Table1->DatabaseName = "newData";
Table1->TableType = ttFoxPro;
Table1->TableName = "new";

Table1->Open();
Table1->Edit();
Table1->FieldByName("SNO")->AsInteger = 2;
//Table1->FieldByName("Name")->AsAnsiString = "name";
Table1->Post();
//Table1->Close();
}

再点击它 貌是没发现错误,就是 DBGrid 中为啥无显示呢?
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerlhp 2010-07-19
  • 打赏
  • 举报
回复
杀毒以后运行了此 DBGrid 显示了
williamsong997 2010-07-18
  • 打赏
  • 举报
回复
__fastcall 貌似是cbuild啊,不过cb里面可没有MsgSprintf。。。
不过要想在DbGrid里面显示表,必须设置其datasouce:
请确定一下:

是否添加了datasouse 及Dbgrid控件并设置其属性:
this->DataSource1->DataSet=Table1;
this->DBGrid1->DataSource=DataSource1;
周药师 2010-07-18
  • 打赏
  • 举报
回复
首先去顶已经绑定了关系
然后确定Table是Open状态
最后确定table查询肯定有数据
tigerlhp 2010-07-18
  • 打赏
  • 举报
回复
绑定le
周药师 2010-07-18
  • 打赏
  • 举报
回复
DataSource 绑定到Table了吗?
tigerlhp 2010-07-18
  • 打赏
  • 举报
回复
绑好了(DBGrid 的 DataSource 项设置了DataSource1这项)
应该没其它要设置的了吧?
bigfog 2010-07-18
  • 打赏
  • 举报
回复
DBGrid是否和DataSource帮定好了

1,178

社区成员

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

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