05 2015 档案
摘要:用TVirtualTable在内存中缓存TOraQuery中的数据,主要应用场景是参照其他数据,需要将TOraQuery中的数据复制到TVirtualTable,由于没有类似于TClientDataSet的Data属性,所以只能考虑数据对拷。原来考虑的是通过数据流方式,采用:ms := TMemor...
阅读全文
摘要:TUniTreeView目前版本没有封装CheckBox功能,所以需要手工处理,幸好0.99版提供部分代码了,修改过程如下:1、uniGUIAbstractClasses.pas单元中修改基类TUniTreeNode,增加Checked属性,代码如下:TUniTreeNode = class(TP...
阅读全文
摘要:今天尝试用uniGUI做Web服务器,调用应用服务器的WebService,遇到些问题记录下来备忘。1、对WebService的调用同一般App程序,只是注意如果WebService的执行时间较长,会报超时错误,此时需要处理:(1)在DataModule上放一个THTTPRIO控件;(2)在数据模板...
阅读全文
摘要:ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式:1、在数据库中进行分页处理;2、获取所有数据,只是快速返回第一页数据。第一种方案对应用服务器资源消耗最小,对数据库消耗略大,在客户需要对全数据进行灵活过滤、查找、统计时就有些不够用了,另外对耗时较大的SQL查...
阅读全文
摘要:ODAC支持通过Oracle的序列来自动生成表的主键功能。这个过程允许在客户端自动完成,不需要过多代码。这个对一些要求自动增长字段做主键的场合非常有用。其实现步骤为:1、数据库必须先建立生成主键的序列。2、设置数据集的KeySequence属性,指向数据库中的序列。3、设置数据集的SequenceM...
阅读全文
摘要:数据集的缓冲模式(Cached mode)是将数据库服务器的数据缓冲在客户端内存中进行处理,不再依赖服务器。只有当数据需要提交数据库服务器进行保存时,才将变更数据一次性提交数据库服务器。数据集缓冲模式的最大优点是减少了对数据库服务器的资源消耗,甚至可以在网络断开的情况下,对数据进行处理然后在网络连接...
阅读全文
摘要:主从模式(Master/Detail mode)是指建立主表和从表关系的多个数据集集合模式。1. 关系设置要设置主从模式,必须有一个主表数据集(TDataSet)和一个从表数据集(TDataSet),且主表数据集关联一个数据源组件(TDataSource),并将从表数据集的MasterSource指...
阅读全文
摘要:直接访问模式(Direct mode)是ODAC最大的特色之一,即不需要安装Oracle客户端,ODAC越过了OCI(Oracle Call Interface ),使用TCP/IP协议就可以直接与Oracle服务器通信,使得ODAC程序的部署非常方便,性能也非常高。要设置直接访问模式,只需要将连接...
阅读全文
摘要:数据离线模式(Disconnected Mode)是指数据库只有在需要的时候才连接,数据的处理放在客户端内存缓冲区中完成。这样做最大的好处是减少了网络资源依赖,对数据库服务器的资源开销和压力也减少。如果客户端需要经常反复地连接和关闭数据库连接,也可以采用ODAC的连接池模式。要实现数据离线模式,需要...
阅读全文
摘要:名称类型说明AbortOnKeyViolBoolean在处理数据时,如果发生主键冲突或主键校验失败时,是否中断AbortOnProblemBoolean发生问题时是否中断ChangedCountInteger目标数据集变动记录数CommitCountInteger用于设置一次性移动到目标数据集中并提...
阅读全文
摘要:通过TOraMetaData控件获取Oracle数据库对象信息,首先需要设置MetaDataKind属性,然后设置Restrictions属性设置条件,最后通过激活数据集获取信息,演示代码如下:MetaData.Connection := Connection;MetaData.MetaDataKi...
阅读全文
摘要:名称类型说明ColumnsTDAColumns需要载入数据的每个字段定义LoadModeTLoadMode载入模式,包括:lmDirect 通过内部数据缓冲区载入到数据库中lmDML 将数据转换为DML语句再提交到数据库中TableName载入数据的表名称CreateColumns根据TableN...
阅读全文
摘要:TOraEncryptor名称类型说明DataHeaderTCREncDataHeader一些附加信息放入加密数据中,包括:ehNone 无附加信息ehTag GUID和随机生成的初始化向量数据ehTagAndHash Hash、GUID和随机生成的初始化向量数据EncryptionAlgorith...
阅读全文
摘要:名称类型说明OptionsTVirtualTableOptions选择项,包括:voPersistentData:在数据集关闭时不处理其相关数据内容voStored:设计期对数据集的处理以及录入的数据将保存在DFM文件中AddField增加一个字段,需要Active=True后生效DeleteFie...
阅读全文
摘要:名称类型说明ActiveBoolean激活SQL跟踪DBMonitorOptions将跟踪信息发送到dbMonitor工具软件的选择项HostIP地址Port端口号ReconnectTimeout重新连接的TimeOut时间SendTimeout发送信息的TimeOut时间Options跟踪SQL的...
阅读全文
摘要:名称类型说明DataSet如果脚本中返回了数据结果,则通过该数据集进行获取Delimiterstring脚本语句之间的分隔符EndLineInteger脚本中最后一行的行号EndOffsetInteger脚本中最后一行的偏移量EndPosInteger脚本中最后一个字符的位置StartLineInt...
阅读全文
摘要:名称类型说明DataSet指向需要执行更新操作的数据集DeleteObject当执行删除操作时,通过该属性执行另外一个数据集,由后者来执行更多的删除动作DeleteSQLTStrings删除所需要的SQL语句InsertObject当执行插入操作时,通过该属性执行另外一个数据集,由后者来执行更多的插...
阅读全文
摘要:TOraSQL是一个SQL语句执行控件,包括PL/SQL块等,不返回数据集结果。名称类型说明ChangeCursorBoolean在非阻塞模式下是否允许改变屏幕的光标WaitExecuting在非阻塞模式下用于等待SQL执行结束TOraTable名称类型说明TableNameString设定表的名称...
阅读全文
摘要:TSmartQuery是相对于TOraQuery更简洁的数据集,其成员如下名称类型说明ExpandBoolean缺省为False,如果为True,则表示无论SQL中罗列的字段是哪些,数据集将自动获取所有字段数据和信息SmartRefreshBoolean缺省为False,如果为True,则表示应用程...
阅读全文
摘要:名称类型说明SequenceModeTSequenceModeODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能。该属性决定了在什么场合下使用序列:smInsert 新增记录时smPost 更新记录时注意:根据序列更新的字段由KeyFields决定KeySequ...
阅读全文
摘要:7.其他名称类型说明FindKey类似于BDE的相关功能,在当前数据集中查找指定的记录FindNearest移动游标到最符合查找要求的第一条记录处FindMacro当前数据集中是否存在指定的宏FindParam当前数据集中是否存在指定的参数GetDataType获取指定字段的内部数据类型GetFie...
阅读全文
摘要:6.OptionsTCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表:名称类型说明TDADataSetOptions AutoPrepareBoolean执行SQL前是否自动执行Prepare CacheCalcFieldsBoolean缓冲计算字段(TF...
阅读全文
摘要:4.主从表关系名称类型说明MasterSource从表对应于主表的DataSource组件DetailFields从表中对应于主表字段的外键字段MasterFields主表中关联从表的字段,一般为主表的关键字段5.执行相关名称类型说明KeyFieldsString用于数据集SQLDelete、SQL...
阅读全文
摘要:2.连接相关名称类型说明Connection指向一个数据库连接对象Disconnected设置为True将在数据库关闭后继续保持数据集的开启状态。3. 数据获取名称类型说明FetchRowsInteger从数据库服务器获取一次性获取数据记录的条数,缺省25条。IsQueryBoolean当数据集Pr...
阅读全文
摘要:1.SQL相关名称类型说明BaseSQLString没有被AddWhere、SetOrderBy、FilterSQL等方法处理过的原始SQL语句FinalSQLString被AddWhere、SetOrderBy、FilterSQL等方法处理过的最终SQL语句SaveSQL将SQL属性中的值保存到B...
阅读全文
摘要:3.其他名称类型说明GetBlobTBlob按照字段名获取当前数据集中某个Blob类型的字段值,并以TBlob对象形式返回PreparedBoolean检查Query的SQL是否已准备好执行PrepareUnPrepare数据集准备或取消资源准备,在Open或Close后自动调用SaveToXML以...
阅读全文
摘要:2.索引与过滤名称类型说明IndexFieldNamesstring设置排序字段列表,每个字段之间通过分号分割。每个字段后可以有以下几种排序选项:ASC 升序DESC 降序同时还可以有以下选项:CIS 大小写不敏感CS 大小写敏感BIN 使用字符的码值排序如:DataSet1.IndexFi...
阅读全文
摘要:所有的数据集类组件都是从TMemDataSet继承下来的,该组件实现了内存中对数据的管理,其主要的属性、方法和事件如下。1.数据更新名称类型说明CachedUpdatesBoolean数据集是否采用缓冲模式ApplyUpdates将缓冲区中未提交的数据提交数据库,但不执行数据库的事务操作。此时缓冲区...
阅读全文
摘要:TOraQuery是ODAC中常用的一个组件,其继承关系如下:TDataSet ---TMemDataSet ---TCustomDADataSet ---TOraDataSet ---TCustomOraQuery---TOraQueryTOraQuery的主要特有属性为:名称类型说明Updati...
阅读全文
摘要:4. 数据库信息名称类型说明GetDatabaseNames获取对应的数据库对象名称列表GetSequenceNamesGetStoredProcNamesGetTableNames5. 其他名称类型说明Debugboolean是否进入Debug模式,缺省False进入IDE环境的Debug模式后,...
阅读全文
摘要:3. 选项TOraSession的Options有如下内容名称类型说明CharLengthTCharLength单个字符的长度,缺省0,表示从服务器获取对应的字符集中单个字符长度CharsetString指定ODAC的字符集,只能在Oracle8的客户端下使用ClientIdentifierStri...
阅读全文
摘要:2. 事务相关名称类型说明AutoCommitBoolean是否自动提交事务注意:只有当TOraSession和TOraQuery的AutoCommit都为True时才对每个数据库操作自动提交事务,否则需要手动提交。InTransactionboolean是否正在事务中Savepoint记录回滚点,...
阅读全文
摘要:1. 连接相关名称类型说明ConnectDialog执行连接对话框控件ConnectedBoolean连接状态,通过函数Connect和Disconnect连接或关闭数据库连接,并触发OnConnectChange事件。ConnectModeTConnectMode数据库连接方式,取值如下:cmNo...
阅读全文
摘要:ODAC的控件有26个,简单介绍如下: TOraSession 管理Oracle的连接 TOraQuery 使用SQL进行数据获取,自动将更新提交数据库 TSmartQuery 在处理字段不多而记录多的大型表时更有效率的Query控件。 TOraSQL SQL...
阅读全文
摘要:一直在使用ODAC做开发,没时间仔细研究一下,目前采用的是3层结构,ODAC+TDataSetProvider+TClientDataSet做数据处理,也没有多大问题。下一步要开发B/S的程序了,打算用ODAC+uniGUI来完成,数据处理上其实可以按照2层结构,相比3层结构要简单些,性能预计也要好...
阅读全文