天津到宁波火车票:C++ BUILDER6.0中数据的更新问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 17:16:12
在PageControl的一个TabSheet页面里用ADODataSet控件为DBGird表格提供打开的MDB数据库的一个表(设置ADODataSet->Activate=true),DBGird表格数据显示正常,用ADOCommand操作MDB数据库的这个表并且确人数据已经保存完好后,DBGird表格的数据没有变化(同样先设置ADODataSet->Activate=false,和后=true),也就是说在PageControl的TabSheet页面里通过设置ADODataSet控件的Activate值后,ADODataSet的数据集没有及时更新,但是通过切换TabSheet页面(换成其他空白页面后又换回来)时ADODataSet记录集的数据却又更新了,百思不解,只有无奈。烦请C++ BUILDER数据库高手指点迷津,小弟跪求解决之道。
我的程序代码基本就是:
ADOCommand1->CommandText = "insert into InfoTable (ID, cName) values( 'ID', 'cName')";
ADOCommand1->Execute();

ADODataSet1->Active = false;
ADODataSet1->Active = true;

ADODataSet1里的CommandText是数据库里面的一个“查询”,上面这段代码在TabSheet1->OnShow事件里正确得到结果,但是同样在TabSheet1页面的按钮事件里执行此语句没有得到正确结果,数据集无任何变化。切换到TabSheet2后又回到TabSheet1页面就能得到修改或增加后的正确结果。

没道理啊,具体是怎么做的呢?

试一试这样:
ADOCommand1->CommandText = "insert into student(name, address) values( '李四', '上海市')";
ADOCommand1->Execute();

ADODataSet1->Active = false;
ADODataSet1->Active = true;