若DBGrid.DataSource.DateSet为ADOQuery1,这样试一下:if ADOQuery1.Modified then ...


    1. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
      begin
        if ADODataSet1.Modified then
          begin
          Messagedlg('对不起,你还没有保存数据?',mtInformation,[mbOK],0);
          CanClose:=false;
          end;
      end;

试试
DBGrid.DataSource.DateSet.Fields[i].NewValue<>DBGrid.DataSource.DateSet.Fields[i].OldValue

    1. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
      begin
        if ADOQuery1.Modified then
          begin
          ADOTable1.post;
          end;
      end;

    1. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
      begin
        if not(DBGrid.DataSource.DataSet.State in [dsEdit,dsInsert]) then
          begin
            Messagedlg('对不起,你还没有保存数据?',mtInformation,[mbOK],0);
            CanClose:=false;
          end;
      end;

    1. 不好意思,上面搞錯啦:procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
      begin
        if DBGrid.DataSource.DataSet.State in [dsEdit,dsInsert] then
          begin
            Messagedlg('对不起,你还没有保存数据?',mtInformation,[mbOK],0);
            CanClose:=false;
          end;
      end;

  1. konhon(优华无限)的方法我还没试,不过前面的midified是不行,请问mvt是什么方法

    1. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
      begin
        if DBGrid.DataSource.DataSet.State in [dsEdit,dsInsert] then
          begin
            Messagedlg('对不起,你还没有保存数据?',mtInformation,[mbOK],0);
            CanClose:=false;
          end;
      end;测试中还有存在这种情况,假如编号原来为:0001,我修改为0002,但是在我退出之前又改为原来的0001,也就是说并没有修改编号,但是退出之前还问我是否保存,理论上不应该提示

请问:在delphi中怎样判断DBgrid中数据是否被修改,以便在退出窗口时加以提示的更多相关文章

  1. shell中条件判断if中的-z到-d的意思

    shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 ...

  2. Solidity中如何判断mapping中某个键是否为空呢?

    Solidity中如何判断mapping中某个键是否为空呢? 一.比较标准的做法是建立一个专门和value相关的结构体,用一个布尔型变量来看是否这个key所对应的value被赋过值 代码如下: pra ...

  3. shell中条件判断if中的-z到-d

    shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 ...

  4. db2 中 SQL判断物理表是否存在、修改表名

    1.db2 中 SQL判断物理表是否存在 SELECT * FROM SYSIBM.SYSTABLES WHERE TID <> 0 AND Name = 'TABLE_NAME' AND ...

  5. Python 中如何判断 list 中是否包含某个元素

    在python中判断 list 中是否包含某个元素: ——可以通过in和not in关键字来判读 例如: abcList=['a','b','c',1,2,3] if 'a' in abcList: ...

  6. 关于SQLServer数据库中字段值为NULL,取出来该字段放在DataTable中,判断datatable中该字段值是否为NULL的三种方法

    1. DataTable dt;                               //假设字段为name, dt已经保存了数据dt.rows[0]["name"] == ...

  7. delphi中如何实现DBGrid中的两列数据想减并存入另一列

    可参考下面的例子:   数据自动计算的实现:“金额”是由“单价”和“工程量”相乘直接得来的,勿需人工输入. 这可在“数据源构件”的onupdatedata例程添加如下代码实现: procedure T ...

  8. SQL——Sql_Server中如何判断表中某字段、判断表、判断存储过程以及判断函数是否存在

    一.比如说要判断表A中的字段C是否存在两个方法: (1) 直接查表——有点笨,有点常规 IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCO ...

  9. Sql_Server中如何判断表中某字段是否存在

    --比如说要判断表A中的字段C是否存在两个方法: 一, IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.I ...

随机推荐

  1. C#中如何使用JS脚本

    C#中如何使用JS脚本 目前在做的组态软件中就使用到了js脚本,这部分js脚本是供用户编写的,用户可以通过我们提供的脚本以及js自身的逻辑,用户就可以随心所欲的控制设备的运行.有比较了几款在C#中执行 ...

  2. 12-oauth密码模式identity server4实现

    1-服务端代码, 配置类,可加 RequireClientSecret=false, 这样调用端就不需要传入client_secret参数 using System.Collections; usin ...

  3. 能用程序解决的问题绝不BB之租房篇章...

    项目缘起于高德API+Python解决租房问题, 修修补补之后上线了58公寓高德搜房(全国版)http://woyaozufang.live:8080. 经过了多次代码优化.内容改版.新增房源等... ...

  4. hadoop 家族图

    hadoop家族

  5. Qt-QML-C++交互实现文件IO系统-后继-读取XML文件和创建XML文件

    在前面两篇中,大致完成了一个文件IO的读和写操作.前面两篇文章链接 http://blog.csdn.net/z609932088/article/details/71488250 http://bl ...

  6. lesson 17 The longest suspension bridge in the world

    lesson 17 The longest suspension bridge in the world agreeable adj. 令人愉快的:适合的 = pleasant be located ...

  7. Unity编辑器 - TreeView控件笔记

    用起来有一些规则,写个简单的案例以备查阅: using System.Collections.Generic; using UnityEditor.IMGUI.Controls; using Unit ...

  8. Java开发工程师(Web方向) - 02.Servlet技术 - 期末考试

    Servlet课程考试 Servlet课程考试 Servlet课程考试 总分:55分 限定时间:120分钟 进入考试 答案已成功提交!请耐心等待成绩公布 Servlet课程考试: 1(12分) 简单谈 ...

  9. Python 作用域和命名空间

    在介绍类之前,我首先要告诉你一些Python的作用域规则.类定义对命名空间有一些巧妙的技巧,你需要知道作用域和命名空间如何工作才能完全理解正在发生的事情.顺便说一下,关于这个主题的知识对任何高级Pyt ...

  10. Spring Cloud(七):配置中心(Git 版与动态刷新)【Finchley 版】

    Spring Cloud(七):配置中心(Git 版与动态刷新)[Finchley 版]  发表于 2018-04-19 |  更新于 2018-04-24 |  Spring Cloud Confi ...