ODAC(V9.5.15) 学习笔记(五)TSmartQuery

TSmartQuery是相对于TOraQuery更简洁的数据集,其成员如下


名称


类型


说明


Expand


Boolean


缺省为False,如果为True,则表示无论SQL中罗列的字段是哪些,数据集将自动获取所有字段数据和信息


SmartRefresh


Boolean


缺省为False,如果为True,则表示应用程序在一个并发环境中,对数据库表中记录的修改,会通知其他共同使用的用户


DependEvents


在SmartRefresh模式下时,如果某个另外的数据集的RefreshEvent属性指定的事件触发了,将自动触发所有相关关联的数据集中的该属性定义的事件?


RefreshEvent


在SmartRefresh模式下时,如果该属性指定的这个事件触发了,将自动运行Refresh方法


SmartState


检查数据集是否处于dsView状态下


View


当Expand=True时数据集进入dsView状态下


AfterSmartRefresh


当数据集执行SmartRefresh后触发的事件


RefreshFields


当前记录的修改内容提交数据库或缓冲区时触发的事件,如果Expand=True,可以对一个非更新字段进行赋值

时间: 2024-10-12 18:12:19

ODAC(V9.5.15) 学习笔记(五)TSmartQuery的相关文章

ODAC(V9.5.15) 学习笔记(一)总论

一直在使用ODAC做开发,没时间仔细研究一下,目前采用的是3层结构,ODAC+TDataSetProvider+TClientDataSet做数据处理,也没有多大问题.下一步要开发B/S的程序了,打算用ODAC+uniGUI来完成,数据处理上其实可以按照2层结构,相比3层结构要简单些,性能预计也要好些.所以需要仔细研究一下ODAC的功能.岁数大了,做个笔记免得忘了.以下大部分材料来自于ODAC的帮助文件,E文不是太好,只能大概了解意思,难免有错,阅读和使用时需要进一步核实. 1.1.  简介 O

ODAC(V9.5.15) 学习笔记(二)控件列表

ODAC的控件有26个,简单介绍如下: TOraSession  管理Oracle的连接  TOraQuery  使用SQL进行数据获取,自动将更新提交数据库  TSmartQuery    在处理字段不多而记录多的大型表时更有效率的Query控件.  TOraSQL  SQL语句执行控件,包括PL/SQL块等,不返回数据集结果  TOraTable  对单表操作的控件  TOraStoredProc      存储过程控件,允许编辑光标数据并以参数形式返回  TOraNestedTable 

ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)

6.Options TCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表 : 名称 类型 说明 TDADataSetOptions AutoPrepare Boolean 执行SQL前是否自动执行Prepare CacheCalcFields Boolean 缓冲计算字段(TField.Calculated)和Lookup字段(Tfield.Lookup),能有效提高数据集访问速度,但是也会导致内存使用增加 CompressBlobMode Boolea

ODAC(V9.5.15) 学习笔记(三)TOraSession(3)

3. 选项 TOraSession的Options有如下内容 名称 类型 说明 CharLength TCharLength 单个字符的长度,缺省0,表示从服务器获取对应的字符集中单个字符长度 Charset String 指定ODAC的字符集,只能在Oracle8的客户端下使用 ClientIdentifier String 客户端标识,只能在Oracle9及以上版本使用 ConnectionTimeout Integer 连接超时时间(毫秒),缺省0表示一直等待到成功或报错 DateForm

ODAC (V9.5.15) 学习笔记(二十)大数据量获取处理

ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式: 1.在数据库中进行分页处理: 2.获取所有数据,只是快速返回第一页数据. 第一种方案对应用服务器资源消耗最小,对数据库消耗略大,在客户需要对全数据进行灵活过滤.查找.统计时就有些不够用了,另外对耗时较大的SQL查询就不如第二种方案速度快,对数据库压力也要大些,并且需要编写程序来完成.在Delphi下我考虑使用第二种方案,尤其是在使用uniGUI+ODAC配合使用时.第二种方案对应于服务器内存压力略大,并

ODAC(V9.5.15) 学习笔记(三)TOraSession(1)

1. 连接相关 名称 类型 说明 ConnectDialog 执行连接对话框控件 Connected Boolean 连接状态,通过函数Connect和Disconnect连接或关闭数据库连接,并触发OnConnectChange事件. ConnectMode TConnectMode 数据库连接方式,取值如下: cmNormal 缺省,普通用户连接 cmSysASM 以SYSASM角色连接 cmSysDBA 以SYSDBA角色连接 cmSysOper 以SYSOPER角色连接 ConnectP

ODAC(V9.5.15) 学习笔记(四)TOraDataSet

名称 类型 说明 SequenceMode TSequenceMode ODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能.该属性决定了在什么场合下使用序列: smInsert       新增记录时 smPost          更新记录时 注意:根据序列更新的字段由KeyFields决定 KeySequence Oracle中用于生成主键的序列名称 CheckMode TCheckMode 在更新一条记录前,对当前记录进行检查的模式,包括: cmExce

ODAC(V9.5.15) 学习笔记(四)TMemDataSet (1)

所有的数据集类组件都是从TMemDataSet继承下来的,该组件实现了内存中对数据的管理,其主要的属性.方法和事件如下. 1.数据更新 名称 类型 说明 CachedUpdates Boolean 数据集是否采用缓冲模式 ApplyUpdates 将缓冲区中未提交的数据提交数据库,但不执行数据库的事务操作.此时缓冲区数据仍然存在,UpdateStatus状态处于修改状态,需要调用CommitUpdates来清除缓存中的数据,并将状态还原成非修改状态.ApplyUpdates没有放在Try Exc

ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(1)

1.SQL相关 名称 类型 说明 BaseSQL String 没有被AddWhere.SetOrderBy.FilterSQL等方法处理过的原始SQL语句 FinalSQL String 被AddWhere.SetOrderBy.FilterSQL等方法处理过的最终SQL语句 SaveSQL 将SQL属性中的值保存到BaseSQL中,以便在处理后能够还原 RestoreSQL 从BaseSQL中将语句还原到SQL属性 SQLSaved Boolean SQL是否被保存到BaseSQL中 SQL