若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. Qt——QScrollArea

    1.QScrollArea是否显示滚动条是由一个主要的子控件决定.检查滚动条未显示(1)是否只有一个子控件(2)是否设置 setWidgetResizable(true);,因为这个的本质是QWidg ...

  2. 使用Goland同步远程代码

    新版本的goland貌似已经有了Deployment功能,故本篇文章描述的方法也不推荐使用了 以前写php时候习惯使用phpstorm这个编译器,除去本身功能强大不说,比较方便的是其自身带的Deplo ...

  3. HyperLedger Fabric 1.4 生产环境使用ca生成msp和tls(12)

    在上一章:Fabric kafka生产环境部署的基础上部署Fabric CA,使用Fabric CA进行生成公私钥和证书等文件,全部替换cryptogen工具,包括生成TLS相关的私钥和证书等文件.  ...

  4. 深入解析Dropout

    过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案:其中dropout具有简单性并取得良好的结果: Dropout 上图为Dropout的可视 ...

  5. .Net 面试题 汇总(六)

    一.填空题 1.面向对象的语言具有(继承)性.(多态)性.(封装)性. 2.能用foreach遍历访问的对象需要实现 (IEnumberable)接口或声明(GetEnumberator)方法的类型. ...

  6. 20145202马超《java》【课堂实验】P98测试

    当时在加水印所以没来得及提交,然而我回宿舍第一时间就提交了,希望老师额能够看到

  7. winform 的语言国际化

    http://www.cnblogs.com/codefish/p/4778269.html

  8. 北京Uber优步司机奖励政策(3月8日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  9. 优步UBER司机高峰小时保底奖励

    高峰小时保底奖励 (此奖励仅针对6月1日及以后激活的优步车主): ​ 得到“高峰小时保底”的前提为: 1. 在规定高峰时间段内(不得跨段计算),任意一小时内至少完成一单: 2. 在规定高峰时间段内,任 ...

  10. 成都Uber优步司机奖励政策(1月30日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...