ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)
2015-05-02 13:13
309 查看
6.Options
TCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表 :名称 | 类型 | 说明 | |
TDADataSetOptions | |||
AutoPrepare | Boolean | 执行SQL前是否自动执行Prepare | |
CacheCalcFields | Boolean | 缓冲计算字段(TField.Calculated)和Lookup字段(Tfield.Lookup),能有效提高数据集访问速度,但是也会导致内存使用增加 | |
CompressBlobMode | Boolean | 存储的BLOB字段内容是否进行压缩 | |
DefaultValues | Boolean | 数据集将自动填写字段的DefaultExpression属性 | |
DetailDelay | Integer | 主数据集记录滚动情况下,获取或从表数据集数据的延时时间(毫秒),缺省为0表示立即刷新 | |
FieldsOrigin | Boolean | 打开数据集时是否自动获取各个字段的Origin属性值 | |
FlatBuffers | Boolean | 决定如何处理ftString和ftVarBytes类型的字段对字符串结尾。如果是True则没有结束符 | |
LocalMasterDetail | Boolean | 主表的该属性如果为True,表示在本地形成一个Master/Detail关系。一般情况下,主从关系数据集是先开启主数据集,针对主数据集的每一条记录,从数据集去获取相应的数据,这样最大的诟病是如果主数据集记录有多少条,就需要执行多少次从数据集的查询,效率非常低下。通过本地建立主从关系,并开启本地的缓冲模式,将大大提高数据库服务器的使用效率。 另外从表的缓冲模式开启(CachedUpdates=Ture)也必须是在LocalMasterDetail为True情况下才有效。 | |
LongStrings | Boolean | 如果为True,则当字符串字段的长度超过255时,按照TStringField处理 | |
NumberRange | Boolean | 是否对TIntegerField或TFloatField类型字段的取值范围进行最大和最小限制 | |
QueryRecCount | Boolean | 如果数据集的FetchAll属性为False,则数据集会执行SQLRecCount中的SQL语句获取数据集数量,并填写在RecordCount属性上 | |
QuoteNames | Boolean | 在自动生成的SQL语句中罗列所有相关字段 | |
RemoveOnRefresh | Boolean | 调用RefreshRecord刷新数据时,自动删除数据库中已经不存在的记录。这些记录有可能是被其他用户删除了。 | |
RequiredFields | Boolean | 如果为True,则数据集在开启时自动将数据库中NOT NULL字段对象设置Required属性为True | |
ReturnParams | Boolean | 如果为True,则插入或更新数据记录后,利用SQLInsert或SQLUpdate语句中的OUT参数获取数据库中最新的值 | |
SetFieldsReadOnly | Boolean | 如果为True,则自动将数据集中非更新表或数据字段的ReadOnly属性设置为True | |
StrictUpdate | Boolean | 当数据集的更新、删除和新值操作从数据库返回发生作用的记录数不为1时触发异常,RefreshRecord函数返回的记录数大于1时也会触发异常 | |
TrimFixedChar | Boolean | 是否对字符串字段自动去除空格 | |
UpdateAllFields | Boolean | 在自动生成INSERT或UPDATE语句时是否列举全部字段 | |
UpdateBatchSize | Integer | 当数据集处于缓冲模式下时,允许进变动数据批量提交处理的数量,缺省为1 | |
TOraDataSetOptionsDS | |||
AutoClose | Boolean | 当获取到全部数据后,自动关闭OCI的游标。 | |
CacheLobs | Boolean | 是否在本地开辟缓冲来保存BLOB数据 | |
DeferredLobRead | Boolean | 如果为True,则Oracle8下的BLOB字段只有在需要时才读取 | |
HideRowId | Boolean | 是否隐藏ROWID字段,缺省True | |
KeepPrepared | Boolean | 当数据集关闭后,是否继续保持准备状态 | |
ScrollableCursor | Boolean | 如果为True,则ODAC不再为数据建立本地数据集光标,而是使用服务器的游标,且该游标是允许双向滚动的 | |
TOraDataSetOptions | |||
ExtendedFieldsInfo | Boolean | 数据集在开启时是否获取字段的扩展信息,对TSmartQuery组件而言缺省是True,其他数据集组件是False | |
FullRefresh | Boolean | 在执行RefreshRecord函数时是否刷新所有字段,False时只刷新更新字段 | |
FieldsAsString | Boolean | 是否将BLOB字段以外的其他数据类型的字段都按照字符串字段处理 | |
PrefetchRows | Integer | 当执行SQL进行数据预读取时,通过OCI接口获取数据的记录数 | |
PrepareUpdateSQL | Boolean | 更新数据的SQL语句在执行前是否自动进行准备 | |
RawAsString | Boolean | 是否将RAW数据类型的字段按照字符串类型字段处理,缺省True | |
ReflectChangeNotify | Boolean | 如果是True,且数据集的ChangeNotification属性被指定了一个组件,那么当数据集对应的表在数据库中进行了DML或DDL变化,将产生变更通知消息,并对当前数据集进行相应刷新。 | |
StatementCache | Boolean | 是否允许OCI进行该数据集的执行SQL的语句缓冲。启用该功能前必须确保TOraSession组件的Options.StatementCache处于开启状态。 |
相关文章推荐
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(1)
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(2)
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(3)
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(5)
- ODAC(V9.5.15) 学习笔记(四)TMemDataSet (3)
- ODAC(V9.5.15) 学习笔记(六)TOraSQL、TOraTable和TOraStoredProc
- ODAC(V9.5.15) 学习笔记(十九)主键值自动生成
- ODAC (V9.5.15) 学习笔记(二十一)数据复制
- ODAC(V9.5.15) 学习笔记(七)TOraUpdateSQL
- ODAC(V9.5.15) 学习笔记(八)TOraScript
- ODAC(V9.5.15) 学习笔记(九)TOraSQLMonitor
- ODAC(V9.5.15) 学习笔记(十)TVirtualTable
- ODAC(V9.5.15) 学习笔记(四)TOraDataSet
- ODAC(V9.5.15) 学习笔记(一)总论
- ODAC(V9.5.15) 学习笔记(五)TSmartQuery
- ODAC(V9.5.15) 学习笔记(十一)TOraEncryptor、TOraPackage和TOraAlerter
- ODAC(V9.5.15) 学习笔记(二)控件列表
- ODAC(V9.5.15) 学习笔记(十二)TOraLoader
- ODAC(V9.5.15) 学习笔记(三)TOraSession(1)
- ODAC(V9.5.15) 学习笔记(三)TOraSession(2)