ODAC(V9.5.15) 学习笔记(四)TMemDataSet (1)
所有的数据集类组件都是从TMemDataSet继承下来的,该组件实现了内存中对数据的管理,其主要的属性、方法和事件如下。
1.数据更新
|
名称 |
类型 |
说明 |
|
CachedUpdates |
Boolean |
数据集是否采用缓冲模式 |
|
ApplyUpdates |
将缓冲区中未提交的数据提交数据库,但不执行数据库的事务操作。此时缓冲区数据仍然存在,UpdateStatus状态处于修改状态,需要调用CommitUpdates来清除缓存中的数据,并将状态还原成非修改状态。ApplyUpdates没有放在Try Exception块中,如果有数据更新失败,将触发异常信息提示,如果在OnUpdateError中没有将UpdateAction设置为uaAbort将再次触发错误信息提示。 |
|
|
CancelUpdates |
放弃对缓冲区中未提交数据的变动,恢复原来的状态 |
|
|
RestoreUpdates |
将数据集中所有缓冲区数据恢复到调用ApplyUpdates之前的更新状态,一版用于更新失败时使用 |
|
|
CommitUpdates |
清除缓冲区的未提交数据,但是通过OnUpdateRecord或OnUpdateError事件跳过的修改内容不会被清除 |
|
|
UpdatesPending |
Boolean |
判断缓冲区是否存在未提交的数据,True表示存在 |
|
UpdateStatus |
TUpdateStatus |
返回数据集在当前记录下的更新状态。 |
|
UpdateResult |
TUpdateAction |
返回数据集调用ApplyUpdates方法后在该记录的执行状态 |
|
UpdateRecordTypes |
在缓冲模式下返回当前记录的更新模式 |
|
|
LocalUpdate |
Boolean |
是否本地更新,如果是True则将阻止数据集自动将数据更新提交服务器,而是缓冲在本地内存中。 |
|
DeferredPost |
与Post不同的是,DeferredPost将已经完成的修改提交数据库永久保存,同时数据集状态仍然停留在编辑或新增状态(dsEdit, dsInsert),调用Cancel函数并不能取消已经提交数据库的修改内容,使用上需慎重 |
|
|
RevertRecord |
在缓冲模式下,撤销对当前记录的数据更新内容 |
|
|
OnUpdateRecord |
在更新某条记录时触发,如果是在缓冲模式下,则事件在ApplyUpdates之后触发。事件的UpdateAction缺省为uaFail,如果代码操作成功则需要设置为uaApplied。其取值如下: uaFail 触发失败异常信息 uaAbort 中断后续更新并回滚 uaSkip 跳过,但不报错 uaRetry 重新尝试,很容易形成死循环 uaApplied 代码已经处理,ODAC不再自动处理 需要注意ODAC的OnUpdateRecord事件与系统自带TDataSetProvider的OnUpdateRecord事件略有不同,ODAC的该事件一旦编写了代码,数据集就将数据更新的权利交给了代码,不再自动更新数据。 |
|
|
OnUpdateError |
当数据更新发生错误时触发,如果是在缓冲模式下,则事件在ApplyUpdates之后触发。事件的UpdateAction缺省为uaFail,通过访问事件参数DataSet的各个字段TField.OldValue和TField.NewValue获取原值和新值,设置事件的UpdateAction为uaRetry可以重新尝试更新。ApplyUpdates没有放在Try Exception块中,将触发异常信息提示,如果在OnUpdateError中没有将UpdateAction设置为uaAbort将再次触发错误信息提示。 |
ODAC(V9.5.15) 学习笔记(四)TMemDataSet (1)的更多相关文章
- ODAC(V9.5.15) 学习笔记(四)TMemDataSet (3)
3.其他 名称 类型 说明 GetBlob TBlob 按照字段名获取当前数据集中某个Blob类型的字段值,并以TBlob对象形式返回 Prepared Boolean 检查Query的SQL是否已准 ...
- ODAC(V9.5.15) 学习笔记(四)TMemDataSet (2)
2.索引与过滤 名称 类型 说明 IndexFieldNames string 设置排序字段列表,每个字段之间通过分号分割.每个字段后可以有以下几种排序选项: ASC 升序 DESC ...
- ODAC(V9.5.15) 学习笔记(四)TOraQuery (1)
TOraQuery是ODAC中常用的一个组件,其继承关系如下: TDataSet ---TMemDataSet ---TCustomDADataSet ---TOraDataSet ---TCusto ...
- ODAC(V9.5.15) 学习笔记(四)TOraDataSet
名称 类型 说明 SequenceMode TSequenceMode ODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能.该属性决定了在什么场合下使用序列: sm ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)
6.Options TCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表 : 名称 类型 说明 TDADataSetOptions AutoPrepare B ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(1)
1.SQL相关 名称 类型 说明 BaseSQL String 没有被AddWhere.SetOrderBy.FilterSQL等方法处理过的原始SQL语句 FinalSQL String 被AddW ...
- ODAC(V9.5.15) 学习笔记(十四)TCRBatchMove
名称 类型 说明 AbortOnKeyViol Boolean 在处理数据时,如果发生主键冲突或主键校验失败时,是否中断 AbortOnProblem Boolean 发生问题时是否中断 Change ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(5)
7.其他 名称 类型 说明 FindKey 类似于BDE的相关功能,在当前数据集中查找指定的记录 FindNearest 移动游标到最符合查找要求的第一条记录处 FindMacro 当前数据集中是否存 ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(3)
4. 主从表关系 名称 类型 说明 MasterSource 从表对应于主表的DataSource组件 DetailFields 从表中对应于主表字段的外键字段 MasterFields 主表中关联从 ...
随机推荐
- 在caffe中执行脚本文件时 报错:-bash: ./train.sh: Permission denied
报错原因:没有权限 解决方法:chmod 777 train.sh获得权限
- import caffe报错问题
在搭建好的caffe环境下运行Python报错:ImportError:No module named _caffe 报错原因:由于caffe的Python环境变量未配置好 解决方案: 方法1 imp ...
- wordpress练习
---恢复内容开始--- wp_options数据表储存网站的一些基本信息 bloginfo() //输出 bloginfo('stylesheet_url') //输出style.cs ...
- SEO经验-如何做到新站上线半个月谷歌收录3万
一个网站在做搜索引擎优化的时候,首先考虑的肯定是百度,这个是毋庸置疑的,毕竟百度占领者差不多七成的搜索市场份额. 第二考虑的是360搜索,这个也是毋庸置疑的,因为360搜索占领者差不多两成的搜索市场份 ...
- Gitlab注册时报错:There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.
今天注册时碰到以下问题: 上面的错误是因为注册时有一个google的验证码需要输入.但是中国无法访问google,因此无法访问并输入该验证码导致. 解决方案: FanQiang或者通过Github登陆 ...
- LoadLibrary加载动态库失败
[1]LoadLibrary加载动态库失败的可能原因以及解决方案: (1)dll动态库文件路径不对.此场景细分为以下几种情况: 1.1 文件路径的确错误.比如:本来欲加载的是A文件夹下的动态库a.dl ...
- python os.path.splitext()
# Split the file extension 可以把扩展名获取出来
- Web3.js API 中文文档
Web3.js API 中文文档 http://web3.tryblockchain.org/Web3.js-api-refrence.html web3对象提供了所有方法. 示例: //初始化过程 ...
- html5水平方向重力感应
html5图片随手机重力感应而移动 <!DOCTYPE html> <html lang="zh-cn"><head><meta http ...
- [转载] Oracle之内存结构(SGA、PGA)
2011-05-10 14:57:53 分类: Linux 一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area ...