若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++中引用的本质分析

    引用的意义 引用作为变量别名而存在,因此在一些场合可以代替指针 引用相对于指针来说具有更好的可读性和实用性 swap函数的实现对比: void swap(int* a, int* b) { int t ...

  2. browser-cookies 一个管理cookies的插件,好用

    一.browser-cookies 地址:https://github.com/voltace/browser-cookies 用法 存放cookies是 cookies.set('firstName ...

  3. PHP.49-TP框架商城应用实例-前台1-公共布局、制作首页

    公共布局包括 1.页头.页脚{layout} 正文:{__COMMENT__} 导入:<layout name="layout"> 2.商品导航{nav.html} = ...

  4. [python3.x]win 7 下Pyinstaller库的安装与使用---探索之路

    一.下载安装包 cmd进入命令行,执行命令:pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz ...

  5. 【NAS】NFS中的fsid如何理解

    最近在NAS项目中遇到对NFS的fsid有点疑惑.就深入了解一番 在nfs的配置文件/etc/exports中,fsid作为一个共享参数,具体含义如下: 格式: fsid=num|root|uuid ...

  6. 使用materialization

    explain select `countries`.`id` AS `id`,`countries`.`sortname` AS `sortname`,`countries`.`name` AS ` ...

  7. Visual Studio 2015 Test Explorer does not show anything

    Problem After install Visual Studio 2015 community and NUnit Test Adapter, I cannot find test cases ...

  8. Jquery获取DOM绑定事件

    获取到当前正在执行的事件: $('#testDive').bind('click', function(event){alert('event: ' + event.type)}); 获取所有绑定事件 ...

  9. 韦大仙--Katalon---一款好用的selenium自动化测试插件

    selenium框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动化脚本的效率.我们知道Selenium IDE是一款使用较多的 ...

  10. php导出excel表格的使用

    网站后台有很多列表数据,常常都会有导出excel表格的需求,和大家分享一个实用的导出excel表格方法: 不多说,上代码: /** * @param array $data 要导出的数据 * @par ...