function TForm5.IsFieldChanged(aDataSet: TkbmMWCustomClientQuery; aFieldName: string): Boolean;
var
i: TkbmNativeInt;
pRec, pOrigRec, pOldRec: PkbmRecord;
aOldV, aNewV: Variant; begin
if ADataSet.FindField(aFieldName)=nil then
raise EMemTableError.Create('当前数据集无此字段.'); Result:=False;
pRec := pkbmRecord(aDataSet.ActiveBuffer);
if pRec = nil then
Exit;
if pRec^.UpdateStatus = usModified then
with aDataSet do
begin pOrigRec:=pRec;
while pOrigRec^.PrevRecordVersion <> nil do
begin
pOrigRec := pOrigRec^.PrevRecordVersion;
end;
        pOldRec := OverrideActiveRecordBuffer;
try
OverrideActiveRecordBuffer := pRec; // 指向修改后的数据
aNewV := FieldByName(aFieldName).Value;
OverrideActiveRecordBuffer := pOrigRec; // 指向修改前的数据
aOldV := FieldByName(aFieldName).Value;
if aNewV <> aOldV then
begin
Result:=True;
end;
finally
OverrideActiveRecordBuffer := pOldRec;
end;
end;
end;

kbmMWClientQuery判断一个字段是否修改?的更多相关文章

  1. Oracle sql判断一个字段是否全数字 或含有中文

    update (select length(t.name), t.* -- name,length(name) from g_enterprise_info t where nvl2(translat ...

  2. oracle判断一个字段为空

    比如 insert into table a (a1,b1)values("a1",''); 对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用 se ...

  3. MySQL判断一个字段不包含中文

    中文=2个字节,英文或数字=1个字节,因此我们用mysql中两个函数比较字节和字符的长度是否相等来判断是否包含中文 select * from user where CHAR_LENGTH(name) ...

  4. sqlite 一条记录判断一个字段是否like另一个字段

    sql: select * from test where col2 like '%'||col1||'%';

  5. MySql增加字段、删除字段、修改字段名称、修改字段类型

    1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空 alter table user a ...

  6. MySql增加字段、删除字段、修改字段

    MySql增加字段.删除字段.修改字段名称.修改字段类型   1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; / ...

  7. MySql 增加字段 删除字段 修改字段名称 修改字段类型

    //1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空 alter table user ...

  8. 如何判断一条记录什么字段被修改了 [问题点数:40分,结帖人bluesukeke]

    查询出来数据,在数据集编辑状态下,如何判断一条记录被修改了,哪些字段被修改了. 可用adoquery的Delta屬性...eg: ClientDataSet1.Delta... PS:POST前是準確 ...

  9. ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null

    ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null,解决方法:判断什么null都可以用is null.

随机推荐

  1. smarty section 循环不同的四个样式

    <div class="moban_spzs"> <{section name=goodslist loop=$strdata6}> <{if $sm ...

  2. Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_汇总贴

    51CTO学院 Java商城秒杀系统的设计与实战视频教程(SpringBoot版) H:\BaiDu\微服务0830\2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版) ...

  3. 微信小程序tabBar的一个小坑

    开始接触微信小程序的项目开发时,自己想添加底部导航,按照文档的方法在app.json添加tabBar,结果编译不出,工具台也没错误提示. 尝试在网上搜一下,看到有碰到类似情况的,解决方法是:app.j ...

  4. 关于MacBook Pro外接4K/60HZ显示器的问题

    我踩过的坑 MacBook Pro 外接 4K/60HZ显示器[显示器自带HDMI2.0支持4k] 拓展坞不支持4K/60HZ,最后导致只能支持 30HZ,鼠标移动明显延迟. 总结如下: DVI线类长 ...

  5. centos7.2 apollo1.7.1的搭建

    1.准备工作 第一步:linux系统中配置好java环境安装参考地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-down ...

  6. vue中父组件调用子组件的方法

    原文地址 文章目录 什么是组件? 使用组件 组件 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自 ...

  7. 【HTML】常用的标签学习(2)

    现在的使用的html语言都是h5,但是h5也是从h4继承发展来的,所以h4的标签我们也要学习,然后加上h5新增的标签,那么html这门语言才算学习完毕.上次学习了h4的一些常用标签,今天学习h4剩下的 ...

  8. ThinkPHP 使用 SwaggerUi 自动生成 api 文档

    1.下载swagger-ui GitHub地址:https://github.com/swagger-api/swagger-ui 2.修改 ThinkPHP 的 build.php ,执行命令生成需 ...

  9. 在Linux虚拟机里开启Apache服务

    首先第一步我们配置环境:把yum与Linux ping通 1.我们来下载apache服务,输入:yum install httpd * 2.安装完毕之后默认是死的,要给他启动一下,输入命令:syste ...

  10. Linux第三阶段题型测试

    1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644或0644这样的数字. 解答: 1)最土的方法:ls -l /etiantian |cu ...