delphi程序问题 下面的代码什么意思?
procedureTDataSet.CheckActive;beginifState=dsInactivethenDatabaseError(SDataSetClosed...
procedure TDataSet.CheckActive;
begin
if State = dsInactive then DatabaseError(SDataSetClosed, Self);
end;
procedure TDataSet.CheckBrowseMode;
begin
CheckActive;
DataEvent(deCheckBrowseMode, 0);
case State of
dsEdit, dsInsert:
begin
UpdateRecord;
if Modified then Post else Cancel;
end;
dsSetKey:
Post;
end;
end;
procedure TCustomClientDataSet.EmptyDataSet;
begin
CheckBrowseMode;
Check(FDSBase.Reset);
ProviderEOF := True;
Resync([]);
InitRecord(ActiveBuffer);
end; 展开
begin
if State = dsInactive then DatabaseError(SDataSetClosed, Self);
end;
procedure TDataSet.CheckBrowseMode;
begin
CheckActive;
DataEvent(deCheckBrowseMode, 0);
case State of
dsEdit, dsInsert:
begin
UpdateRecord;
if Modified then Post else Cancel;
end;
dsSetKey:
Post;
end;
end;
procedure TCustomClientDataSet.EmptyDataSet;
begin
CheckBrowseMode;
Check(FDSBase.Reset);
ProviderEOF := True;
Resync([]);
InitRecord(ActiveBuffer);
end; 展开
展开全部
看见列出的代码应该是 dataset 的吧, 具体应该是想描述怎么清空数据集的,此处作答为本人个人理解 具体分析如下:
CheckActive 检测活动开启状态,如果 State = dsInactive 既激活错误 SDataSetClosed 数据集关闭,if State = dsInactive then DatabaseError(SDataSetClosed, Self);
CheckBrowseMode 浏览模式时操作状态检测与数据动作, 通过上面的状态检测是否为开启状态,否出错提示,反之就进行 DataEvent 事件。 通过事件改变了 记录集的State, 从而进行不同的操作。
case State of
dsEdit, dsInsert: //判断当前的记录集存在修改或者插入操作。
begin
UpdateRecord; //更新记录缓冲
if Modified then Post else Cancel; //如果 Modified(修改状态)真时就保存,或者就取消
end;
dsSetKey:
Post; //如果是主键操作则保存。
EmptyDataSet 清空记录集。
CheckBrowseMode; //浏览模式时操作状态检测与数据动作
Check(FDSBase.Reset); //检测基类
ProviderEOF := True; //设置为空
Resync([]); //进行同步
InitRecord(ActiveBuffer); //生成记录集缓冲,dataset必须的。
CheckActive 检测活动开启状态,如果 State = dsInactive 既激活错误 SDataSetClosed 数据集关闭,if State = dsInactive then DatabaseError(SDataSetClosed, Self);
CheckBrowseMode 浏览模式时操作状态检测与数据动作, 通过上面的状态检测是否为开启状态,否出错提示,反之就进行 DataEvent 事件。 通过事件改变了 记录集的State, 从而进行不同的操作。
case State of
dsEdit, dsInsert: //判断当前的记录集存在修改或者插入操作。
begin
UpdateRecord; //更新记录缓冲
if Modified then Post else Cancel; //如果 Modified(修改状态)真时就保存,或者就取消
end;
dsSetKey:
Post; //如果是主键操作则保存。
EmptyDataSet 清空记录集。
CheckBrowseMode; //浏览模式时操作状态检测与数据动作
Check(FDSBase.Reset); //检测基类
ProviderEOF := True; //设置为空
Resync([]); //进行同步
InitRecord(ActiveBuffer); //生成记录集缓冲,dataset必须的。
展开全部
procedure TDataSet.CheckActive; //这个应该是检测你当前的DataSET 是否处于活动状态
begin
if State = dsInactive then DatabaseError(SDataSetClosed, Self);//如果不处于活动状态,执行XX函数。
end;
procedure TDataSet.CheckBrowseMode;//检查浏览模式
begin
CheckActive; //检查dataset状态
DataEvent(deCheckBrowseMode, 0);//
case State of //当state在插入或替换 进行updaterecord
dsEdit, dsInsert:
begin
UpdateRecord;
if Modified then Post else Cancel;
end;
dsSetKey:
Post;
end;
end;
procedure TCustomClientDataSet.EmptyDataSet;
begin //这个应该是清除dataset ,由于使用了很多自定义函数,具体要看函数的意义!
CheckBrowseMode;
Check(FDSBase.Reset);
ProviderEOF := True;
Resync([]);
InitRecord(ActiveBuffer);
end;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询