读书人

DBGridEH有关问题再请问如何让DBGri

发布时间: 2012-02-11 09:51:34 作者: rapoo

DBGridEH问题再请教,怎么让DBGridEH里的数据自动更新显示
DBGridEH连接的Dataset中,可让某列可进行修改,因为在数据库中有触发器修改该列后,其他的字段相应也要进行变化,怎么能让我在DBGridEH中修改了该列后,相应发生变化的列也自动的更新显示到DBGridEH中。

[解决办法]
//是使用ADO的方式。如果用UDAC 更
ADODataSet1->CommandText = "SELECT A.*,B.* FROM MyTable A Left Join NextTable B";
ADODataSet1->Open();

void __fastcall TFMPersonLeave::ADODataSet1AfterOpen(TDataSet *DataSet)
{
_di_Properties p = ADODataSet1->Recordset->Properties ;
//定除只作用於表
p->Item["Unique Table"]->Set_Value("MyTable");
//定更改用命令取回。
p->Item["Resync Command"]->Set_Value(
"SELECT A.*,B.* FROM MyTable A Left Join NextTable B WHERE A.ID = ?");
}
void __fastcall TFMPersonLeave::ADODataSet1AfterPost(TDataSet *DataSet)
{
ADODataSet1->UpdateCursorPos();
ADODataSet1->Recordset->Resync(1,2);
}
//---------------------------------------

[解决办法]

探讨
引用:
重新打开一下
ADOQuery->Close();
ADOQuery->Open();
或者刷新一下就可以了

我知道重新打开一下是可以的
但是我应该把代码写在那个事件里呢,才可以让我在DBGridEH里更改A字段后也显示更改后的B字段。

读书人网 >C++ Builder

热点推荐