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(4)的更多相关文章

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

    1.SQL相关 名称 类型 说明 BaseSQL String 没有被AddWhere.SetOrderBy.FilterSQL等方法处理过的原始SQL语句 FinalSQL String 被AddW ...

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

    7.其他 名称 类型 说明 FindKey 类似于BDE的相关功能,在当前数据集中查找指定的记录 FindNearest 移动游标到最符合查找要求的第一条记录处 FindMacro 当前数据集中是否存 ...

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

    4. 主从表关系 名称 类型 说明 MasterSource 从表对应于主表的DataSource组件 DetailFields 从表中对应于主表字段的外键字段 MasterFields 主表中关联从 ...

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

    2.连接相关 名称 类型 说明 Connection 指向一个数据库连接对象 Disconnected 设置为True将在数据库关闭后继续保持数据集的开启状态. 3. 数据获取 名称 类型 说明 Fe ...

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

    TOraQuery是ODAC中常用的一个组件,其继承关系如下: TDataSet ---TMemDataSet ---TCustomDADataSet ---TOraDataSet ---TCusto ...

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

    名称 类型 说明 SequenceMode TSequenceMode ODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能.该属性决定了在什么场合下使用序列: sm ...

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

    所有的数据集类组件都是从TMemDataSet继承下来的,该组件实现了内存中对数据的管理,其主要的属性.方法和事件如下. 1.数据更新 名称 类型 说明 CachedUpdates Boolean 数 ...

  8. ODAC(V9.5.15) 学习笔记(十四)TCRBatchMove

    名称 类型 说明 AbortOnKeyViol Boolean 在处理数据时,如果发生主键冲突或主键校验失败时,是否中断 AbortOnProblem Boolean 发生问题时是否中断 Change ...

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

    3.其他 名称 类型 说明 GetBlob TBlob 按照字段名获取当前数据集中某个Blob类型的字段值,并以TBlob对象形式返回 Prepared Boolean 检查Query的SQL是否已准 ...

随机推荐

  1. jQuery-导航下拉菜单-实用简单

    /*CSS代碼*/ /*導航*/ .nav{background: url("../img/menu_bar.gif") repeat-x;} .nav ul li{display ...

  2. EF或LINQ 查询时使用IN并且根据列表自定义排序方法

    EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很多人不熟,经常会碰到一些写SQL语句时经常会用到的一些方法,而使用EF或LINQ ...

  3. Git branch 分支与合并分支

    Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master 新建一 ...

  4. UVa-1025城市里的间谍 A Spy in the Metro

    原题 城市里的间谍 分析 动态规划,dp[i][j]表示你在时刻i,车站j,最少还要等待的时间. 边界条件d[T][n]=0 已经到达,其他d[T][i]=inf不可达. 在一个站点时,有以下三种决策 ...

  5. 43. Multiply Strings (大数乘法)

    DescriptionHintsSubmissionsDiscussSolution   Pick One Given two non-negative integers num1 and num2  ...

  6. 详解tween.js 中文使用指南

    补间(动画)是一个概念,允许你以平滑的方式更改对象的属性.你只需告诉它哪些属性要更改,当补间结束运行时它们应该具有哪些最终值,以及这需要多长时间,补间引擎将负责计算从起始点到结束点的值. 例如,pos ...

  7. hdu5064 DLX可重复覆盖+二分

    这题题意是 给了n个城市 在其中小于等于k个城市建立机场然后 使得最远的那个离机场的城市距离最短 二分答案 ,我们对于每次的mid 重新建图然后再来一次DLX,每个点可以覆盖的点建立一条联系就ok了 ...

  8. 把本地windows系统上的mysql数据库移到linux系统服务器上,mysql数据库拒绝访问

    Mysql连接报错 原因是:远程服务器不允许你的其他程序访问它的数据库.所以,我们要对远程服务器进行设置,使它允许你进行连接. 步骤:一.进入mysql客户端,输入:use mysql; 二.输入:s ...

  9. win10 Xshell5连ubuntu服务器

    相当于ubuntu做服务器,win10远程访问,同一局域网下,完全参考度娘 教你怎么使用xshell远程连接linux服务器 ubuntu系统ifconfig -a查看ip地址,添加到主机那里,连接时 ...

  10. 举例说明Unicode 和UTF-8之间的转换

    1)写这篇博客的原因 首先我要感谢这篇博客,卡了很久,看完下面这篇博客终于明白Unicode怎么转换成UTF-8了. https://blog.csdn.net/qq_32252957/article ...