adsSize.Filtered := true;
adsSize.FilterGroup := fgpendingrecords;
//这样只能看到修改的记录,删除的看不到。
adsSize.FilterGroup := fgpendingrecords;
//这样只能看到修改的记录,删除的看不到。
解决方案 »
- 大哥哥,大姐姐,Winform程序里输入的10进制数字转化成16进制后再变成中文如何显示到LED上面去?
- 用delete语句删除一个有四万多条记录的表,竟然花了两分钟左右,甚至出现超时错误!
- 散光所有可用分
- 需要一份商店(进销存)管理系统的设计文档
- Sorry,刚才写错了,我是问StringGrid中怎么删除特定的行?
- DELPHI的代码规范问题,有谁能以例子及说明来指导亲王在代码上的规范工作啊?!
- 用delphi开发asp的详细步骤和问题,高手快来讨论,帮我解决一下,我调了一天也没搞定
- 想不出为什么会这样,(update语句的语法错误)~!
- sql语言中decode怎么用
- 怎样得知DELPHI某组件类的原代码?
- 关于DBGrid及Chart的两个小问题
- 用SocketConnection来连接三层的服务器的时候,提示连接错误,为何?
默认的是static(静态)
function TCustomADODataSet.GetRecordStatus: TRecordStatusSet;
var
Status: Integer;
RecStatus: TRecordStatus;
begin
CheckActive;
Result := [];
if State = dsCalcFields then
Status := PRecInfo(CalcBuffer).RecordStatus else
Status := PRecInfo(ActiveBuffer).RecordStatus;
for RecStatus := Low(TRecordStatus) to High(TRecordStatus) do
if (RecordStatusValues[RecStatus] and Status) <> 0 then
Include(Result, RecStatus);
end;=========================
function TCustomADODataSet.UpdateStatus: TUpdateStatus;
var
RecordStatus: TRecordStatusSet;
begin
RecordStatus := GetRecordStatus;
if rsDeleted in RecordStatus then
Result := usDeleted
else if rsNew in RecordStatus then
Result := usInserted
else if rsModified in RecordStatus then
Result := usModified
else
Result := usUnmodified;
end;
分析這段代碼, 它應該能獲取改變的記錄數, 可惜這段代碼寫在Private域內.
我也沒能試過, 只是猜想.
它應該也知道缓存的數據在那里. 呵呵! 另外可以訪問ADOTable1.Recordset對象,訪問Status,State屬性
thanks.
我以前好象看这,他都是调用的ADO原生接口.
你给出的代码是判断某条记录的,也就是当前记录必须在记录集中.
即:它并没被删除.
看來我搞不定了. 也很難找資料. 如你找到了,別忘了通知我
那个fgPredicate是可以的,但不会显示出来,RecordCount会有数据。