在使用ADOQuery删除数据时的处理 [问题点数:100分,结帖人isdxsc]
在使用ADOQuery删除数据时的,希望在他的事件BeforeDelete进行一些判断,符合要求的进行删除,不符合要求的终止这个删除行为,请问应该用什么语句呢?
还有个比较奇怪的现象也一起请教:DBGrid的Option里,dgConfirmDelete已经设置为False,为什么我每次删除数据时,都要出个对话框询问是否删除呢?
Abort这个不得。
BeforeDelete中写
if A=B then abort;//这个方法在我这测试可行啊,无论是单选还是多选都可以
至于第二个问题,建议您自己查一下是否在Delete前写了提示语句,又或者是在程序用动态设置了ADOQuery的Option,如果还没解决的话,自己新拖一个ADOQuery,对比一下默认设置跟‘出错设置’的不同就知道了
if A=true then
begin
raise Exception.Create('此条记录不允许删除!');
abort;
end;
我的ADOQuery与DataSource都是动态创建的,DBGrid是放在窗口的组件,列是动态创建的。。。
先谢谢楼上两位,再测试下。
第二个问题已经解决了,确实是DBNavigator的ConfirmDelete属性问题。
但第一个问题还是存在。
DictionaryQuery.BeforeDelete := DictionaryQueryBeforeDelete;
procedure TFrmDictionary.DictionaryQueryBeforeDelete(DataSet: TDataSet);
begin
try
showmessage('Abort'); 这个显示
Abort;
showmessage('终止'); 这个不显示
except
end;
end;
但数据依然被删除。这个问题应该和DBGrid的Options设置没有关系的吧。
1、不要在BeforeDelete事件写代码,新建一个删除按纽的click事件中写就不存在这些问题。
if ..... then adoquery1.delete;
2、我在DBGrid编辑数据时尽量不用它的插入功能和删除功能,只用它的编辑功能,因为插入和删除有时需要一些操作,还是用两个按纽来实现。
在使用ADOQuery删除数据时的处理 [问题点数:100分,结帖人isdxsc]的更多相关文章
- DB2删除数据时的小技巧
大家对如何删除数据都不陌生,我们习惯性的这么写: 其实这么写性能并不好,尤其是删除大量数据的时候,要想获得更好的性能,可以采用如下方式: 那如果要把一个表的所有数据都删除了,该怎么办?有人可能会说,这 ...
- NHibernate删除数据时遇到deleted object would be re-saved by cascade级联问题
今天在处理数据时遇到了这个问题,数据是一对多的关系,A包含多个B,想将某个B从A中移除,在保存时抛出如标题的问题,查找了下资料得知:由于在配置文件中设置了cascade为all,A和B存在级联关系,那 ...
- Salesforce删除数据时出现Insufficient privileges的可能原因
遇到一个诡异的情况,用户通过界面删除一条自定义Object的数据的时候出现了Insufficient privileges.按理说,如果用户的Profile没有此Object的删除权限的话,应该连删除 ...
- sql server删除数据时如何进行级联删除
可以在创建外键约束时直接设置级联删除
- Mysql 使用delete drop truncate 删除数据时受外键约束影响解决方案
先禁用数据库的外键约束: set foreign_key_checks=0; 进行删除操作 delete.drop.truncate 恢复数据库外键约束: set foreign_key_checks ...
- Mysql Workbench 执行sql语句删除数据时提示error code 1175
error code 1175是因为有安全模式限制 执行命令SET SQL_SAFE_UPDATES = 0;之后可以进行操作
- delphi 中Adoquery ,在打开时能否让记录指针不移动? [问题点数:40分,结帖人microd]
delphi 中Adoquery ,在打开时能否让记录指针不移动?由于数据集Adoquery 时,它的针指称动会废时,能否在打开完成之前不让记录指针不移动.打开完毕之后再回复移动? 这样用:self. ...
- JFreeChart框架中生成饼状图上怎样显示数据 [问题点数:40分,结帖人GreenLawn]
我用JFreeChart框架生成饼状图,但想把数据信息在饼图上显示,是在饼图内部(即圆内)显示!怎样实现啊?? 去掉lablepieplot.setLabelGenerator(null);去掉线p ...
- ASP.NET中GridView控件删除数据的两种方法
今天在用GridView控件时,发现了一个问题,就是使用GridView控件在删除数据时的问题.接下来我们通过模板列方式和CommandField方式删除某条数据讲解下两者之间的区别. 方式一:通 ...
随机推荐
- Keil5 如何安装STM32 芯片包
http://www.keil.com/dd2/Pack/ 从该网址下载 相应芯片的PACK 包
- Python基础(2)——列表、字典、数据运算
1.列表 #创建列表 name_list = ['alex', 'seven', 'eric'] #或 name_list = list(['alex', 'seven', 'eric']) #访问列 ...
- heap堆算法的使用分析
新生代 --复制算法 老年代 --标记压缩清除算法 分代 分区思想 垃圾回收的任务是识别和回收垃圾对象进行内存清理,为了让垃圾回收器可以高效的执行,大部分情况下,会要求系统进入一个停顿的状态. 停顿 ...
- java中使用阻塞队列实现生产这与消费这之间的关系
需求如下: 有一个生产者和一个消费者,生产者不断的生产产品,消费这不断的消费产品.产品总数为N. 1.生产顺序按队列的方式,先进先出. 2.生产者和消费这可以同时进行. 3.当生产者生产了N个产品后不 ...
- IIS导入.pfx证书时报错:"A specified logon session does not exist. It may already have been terminated."
在IIS中可以直接导入.pfx文件来给站点绑定https协议: 如果在导入.pfx文件时,不选择"Allow this certificate to be exported"的话 ...
- jdk8+Mybatis3.5.0+Mysql读取LongBlob失败
问题:在mysql中存储base64,因为太长,基本就是几百K,所以用longBlob 描述:在mysql中,LongBlob.blob算是二进制流文件了,所以用普通的数据格式是不行的,这里用Type ...
- Zabbix监控系统部署:源码安装
1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...
- checkpoint-BLCR部署和测试(源码)
1. 概述2. 部署过程2.1 源码下载2.2 解压安装2.3 添加库环境2.4 插入内核模块3. 测试3.1 创建测试程序3.2 功能测试4. 参考博客 1. 概述 checkpoint 2. 部署 ...
- 分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记
公司在IDC机房的一台服务器上部署了MongoDB,由于所存储的业务数据比较重要,所以对MongoDB的监控显得尤为重要!Zabbix监控MongoDB性能的原理:通过echo "db.se ...
- AnyProxy做App网络流量测试
前言: AnyProxy是一个开放式的HTTP代理服务器.Github主页:[https://github.com/alibaba/anyproxy]主要特性包括: 基于Node.js,开放二次开发能 ...