adoquery判断数据在缓存中有修改

ADOQry.Filtered:=false;
ADOQry.Filtered:=true;
ADOQry.FilterGroup:=fgPendingRecords ;


FilterGroup              参数解释如下:
FgUnassigned         指定不使用任何的过滤器来过滤数据
fgNone                   移去任何的过滤器,让所有的数据都显示出来。这也可以通过设定ADO的Filtered属性值为False来达到
fgPendingRecords   只显示被修改过但尚未更新回数据源的数据或被修改过但尚未被取消更新的数据
fgAffectedRecords   只显示受到上一次更新回数据源影 响的数据
fgFetchedRecords   只显示在目前更新缓存之中的数据。这些数据是在上一次从数据源取得之后所有储存在客户端的数 据
fgPredicate            只显示刚被删除的数据
fgConflictingRecords 只显示被修改过但当更新回数据源时发生错误的数据

ListView 是一个常见的控件,可用于显示数据ADOQuery 是 C++ Builder 用于访问数据库的组件。下面是一个简单的例子,展示了如何将 ListView 与 ADOQuery 配合使用。 首先,需要在 C++ Builder 创建一个 ListView 和一个 ADOConnection 组件。ADOConnection 组件用于连接数据库。在 ADOConnection 的属性面板设置 ConnectionString 属性,指定连接字符串,例如: ``` Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDatabase.mdb;Persist Security Info=False ``` 然后,在 Form 的 OnCreate 事件,使用以下代码连接数据库: ```cpp ADOConnection1->Connected = true; ``` 接下来,在 Form 的 OnShow 事件,使用以下代码查询数据: ```cpp ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("SELECT * FROM MyTable"); ADOQuery1->Open(); ``` 最后,在 ADOQuery 的 AfterOpen 事件,使用以下代码将查询结果显示在 ListView : ```cpp ListView1->Clear(); ListView1->Columns->Clear(); for (int i = 0; i < ADOQuery1->Fields->Count; i++) { TListColumn *col = ListView1->Columns->Add(); col->Caption = ADOQuery1->Fields->Fields[i]->FieldName; col->Width = 100; } while (!ADOQuery1->Eof) { TListItem *item = ListView1->Items->Add(); for (int i = 0; i < ADOQuery1->Fields->Count; i++) { item->Caption = ADOQuery1->Fields->Fields[i]->AsString; } ADOQuery1->Next(); } ``` 这里的代码将查询结果的每一行显示为 ListView 的一个 ListItem,每一列显示为 ListView 的一个 Column。这个例子仅供参考,具体实现可能需要根据实际情况进行修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值