`

使用DBMS APIs —使用行集和游标(1)

阅读更多
<!--StartFragment-->

 

S60平台:使用DBMS APIs —使用行集和游标(1) 

3、使用行集和游标
在Symbian系统的DBMS中,使用行集可以对数据库中的数据进行查找,恢复与修改操作。
关于行集有一点需要牢记,即列集所包括的并不是数据本身,其容纳的非永存性元素只是对数据库中真实数据行的索引进行解析。

3.1 行集定义
列集的API包含三个主要概念:
 ·行集基类(RDbRowSet)——一个抽象类可以提供导航,行恢复以及数据的更新。数据源由两个具体的操作定义。
 ·表行集(RDbTable)——提供表的完全视图。
 ·SQL 视图(RDbView)——提供表的一个视图。该视图依赖于建立视图的SQL查询。其可能包含数据的一部分和表的一部份列。

3.1.1  行集基类
下列功能由Symbian 系统下,DBMS的行集操作提供:
 ·行寻找与匹配
 ·从数据库中回复数据
 ·更新或插入行
 ·使用游标对行集进行导航
 ·使用行集获得行记录的架构
 ·在行中解析与设定列
通过使用RDbRowSet,一个基类可以对所有的行集类型进行定义。行集的具体类型要从类中获取。
为了获取数据,数据库应用程序使用一个行集于当前行记录在的集合中维持一个游标。行集提供一个抽象借口和两个具体类型:表行集与SQL视图。

3.1.2  表行集
表行集将表的所有行和所有列视作一个行集。在行集中可以使用索引,从而从表中迅速获得主键基准的列。若没有使用索引,检索出的行将是无序的。表行集被封装在RDBTab类中

当必须查看全表结构或需要以某种顺序查看表中数据时,表行集时非常有用的。如果想查找一个独立且唯一的行,表行集优于SQL的视图。(参见3.3节,“使用索引获取数据”,
可以了解到使用索引如何达到以上所说的效果)然而,在达到多数情况,SQL更优。

3.1.3  SQL视图
使用RDbView类可以对行集进行SQL查询。任何SQL查询都封装在TdbQuery中。一个SQL视图是一个行集,其由数据库上的SQL查询语句实现且由一个单独的表对其约束。RDbView类的
Prepare方法可解析SQL并且可确定如何获取数据的值。在缺省状态下,必须通过评估视图的值实现游标导航。
由于评价过程是很耗费时间的,一个预估值窗TDbWindow可能在预备阶段使用,其能令行集进行依次评估并进行快速导航。完全的评估可能需要很长时间,最好是对数据库进行分步
评估。
对于巨型行集,TDbWindow可以在平衡内存耗费(若视图存储完全的行集耗费将是巨大的)与速度(若行集被每个游标导航,速度将最慢)。行集可通过定义一个有限(或部分)的
,大小适中的预评估窗来获取这种平衡。一个部分估值窗同样可用于获得本地导航SQL 结果集的部分视图。
下列代码组织了一个使用SQL查找语句的视图:
...
private: // 数据成员
RDbStoreDatabase iBookDb;
...
_LIT(KViewSql,"SELECT Author, Title FROM Books" );
RDbView view;
User::LeaveIfError(view.Prepare(iBookDb, TDbQuery(KViewSql), view.EReadOnly));
CleanupClosePushL(view);
User::LeaveIfError(view.EvaluateAll());
for (view.FirstL(); view.AtRow(); view.NextL())
{
 view.GetL(); // 获取当前行的副本
 ... // 对行进行操作
}
CleanupStack::PopAndDestroy(); // 这样同样可关闭视图

<!--EndFragment-->
分享到:
评论

相关推荐

    使用DBMS APIs

    使用DBMS APIs使用DBMS APIs使用DBMS APIs使用DBMS APIs使用DBMS APIs使用DBMS APIs使用DBMS APIs使用DBMS APIs使用DBMS APIs

    Symbian数据库.s60平台:使用DBMS APIs.pdf

    s60平台:使用DBMS APIs.pdfs60平台:使用DBMS APIs.pdfs60平台:使用DBMS APIs.pdf

    sqlserver游标使用步骤示例(创建游标 关闭游标)

    这个过程实际上没有检索数据,它只是定义要使用的SELECT语句和游标选项。一旦声明,就必须打开游标以供使用。这个过程用前面定义的SELECT语句把数据实际检索出来。对于填有数据的游标,根据需要取出(检索)各行。在...

    使用dbms_stats包手工收集统计信息

    ORACLE数据库使用dbms_stats包手动收集关于表的、索引的统计信息。

    S60_DBMS_APIs中文版.pdf

    S60_DBMS_APIs中文版.pdf

    Oracle数据库游标使用大全

    整理的Oracle数据库游标使用大全 SQL是用于访问ORACLE数据库的语言,PL/SQL扩展和加强了SQL的功能,它同时引入了更强的程序逻辑。 PL/SQL支持DML命令和SQL的事务控制语句。DDL在PL/SQL中不被支持,这就意味作在PL/...

    详解Oracle隐式游标和显式游标

    1.Oracle隐式游标 1.1Oracle有常用的哪些隐式游标 1.2 Oracle隐式游标演示 -- 隐式游标 (使用的表为Oracle默认自带的emp表) -- sql%rowcount:影响记录条数 sql%found:是否有满足条件的记录 set serveroutput on...

    sql总结.doc

    游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作; 它还提供对基于游标位置而对表中数据进行删除或更新的能力 缺点: 处理大数据量时,效率...

    DBMS_PROFILER使用指南

    DBMS_PROFILER使用指南 介绍详细,从安装到使用都一目明了

    DBMS_SQL的使用

    oracle中DBMS_SQL的使用,详细讲解oracle DBMS_SQL的使用办法

    Oracle显示游标的使用及游标for循环

    1.查询返回单行记录时→隐式游标; 2.查询返回多行记录并逐行进行处理时→显式游标 –显示游标属性 declare CURSOR cur_emp IS SELECT * FROM emp; row_emp cur_emp%ROWTYPE; BEGIN OPEN cur_emp; FETCH cur_emp ...

    DBMS_JOB使用方法

    详细介绍DBMS_JOB包的各函数操作,以及各函数对job的使用作用等。

    Oracle中使用DBMS_XPLAN处理执行计划详解

    这5个函数分别对应不同的显示计划的方式,DBMS_XPLAN包不仅可以获取解释计划,它还可以用来输出存储在AWR,SQL调试集,缓存的SQL游标,以及SQL基线中的语句计划,实现如上的功能,通常会用到一下5个方法: 1.DISPLAY...

    oracle dbms_lob

    oracle dbms_lob

    数据库管理系统(DBMS)

    1、源程序:DBMS; 2、数据文件:data; 3、测试所使用的SQL语句:sql.log; 4、DBMS程序皮肤文件:audk.exe,先安装后采用 Microsoft Visual Studio C++ 6.0 运行程序; 5、数据信息文件存储在E:\\data目录下,具体...

    dbms_obfuscation_toolkit加密解密数据

    dbms_obfuscation_toolkit加密解密数据

    DBMS_XMLDOM DBMS_XMLPARSER DBMS_XMLQUERY 文档

    Oracle DOM编程 文档,有要的没 Start from toc.htm DBMS_XMLDOM DBMS_XMLPARSER DBMS_XMLQUERY

    数据库原理-SQLserver-熟悉DBMS

    (1)通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 (2)熟悉使用DBMS的企业管理器进行数据库管理; (3)熟悉数据库备份与恢复功能,以便在实验室电脑和学生自己的电脑上转换数据,方便...

    dbms_logmnr使用

    dbms_logmnr使用

Global site tag (gtag.js) - Google Analytics