Inside Symbian SQL 翻译连载 一

第二章 开始

A journey of a thousand miles starts with a single step.

                                                        Lao-tzu

(千里之行,始于足下。老子)

Symbian SQL很容易学习并很轻松上手使用。本章的目的是在开始之前做好一切准备。本章的第一部分提供了在哪里并如何获得Symbian SQL的细节。接下来在一个控制台程序中演示了基本的数据库操作。在最后,列出了附加的文档。

 

2.1 在哪里获得Symbian SQL?

Symbian OS V9.3开始,Symbian SQL已经包含在其SDK中了。从硬件来看(S60平台),Symbian SQL包含于S60第三版FP2以后的版本中了。S60第三版FP1的用户不用着急,可以从developer.symbian.org网站下载一个Symbian SQLSIS安装包。其他的版本在以后将会提供支持。详情请查看本书的wiki网站

developer.symbian.org/wiki/index.php/Inside_Symbian_SQL

 

2.2 Symbian SQL API概述

Symbian SQL由两个主要的类组成,并和其他类在一起,流入二进制大对象(binary large objects (BLOBs),也可以叫做元数据)中,绑定列,定义安全策略并提供很多使用函数。

 

两个最后重要的类如下:

(1)    RSqlDatabase 使一个客户端能够创建、打开和附加到一个数据库并能够执行不需要返回值的操作(如,INSERT)。

(2)    RSqlStatement 客户端进行有返回值的查询操作(如,SELECT)。

 

其他类如下:

(1)    RSqlSecurityPolicy 为一个共享安全数据库定义一个安全策略。

(2)    TSqlScalarFullSelectQuery 执行一个查询,返回一个由一行一列的数据。

(3)    RSqlColumnReadStream 用来读取包含二进制和/或文本数据的列的内容。

(4)    RSqlParamWriteStream 用来给参数设置二进制或文本数据。

(5)    RSqlBlobReadStream 提供一个更有内存效率的方法来读取二进制或文本数据列。

(6)    RSqlBlobWriteStream提供一个更有内存效率的方法来设置二进制或文本数据列。

(7)    TSqlBlob 一次调用来读取或写入整个二进制或文本列的内容。

在第六章会更加详细的讨论这些类。BLOB类在Symbian^3以后可用。

2.3 第一个数据库例子

为了更好的介绍Symbian SQL,我们写了一个音乐库的例子。这个例子是一个简单的、基于控制台的程序,图文并茂的演示了数据库操作。选择用控制台来演示是为了降低编写GUI程序的复杂度。Symbian SQL API能够在控制台程序和GUI应用程序中良好的工作,所以这个例子就会很容易的移植到你的GUI程序当中。这个例子的源码可以在本书的wiki网站中找到。

developer.symbian.org/wiki/index.php/Inside_Symbian_SQL.

    这个程序使用多种Symbian SQL操作保存歌曲到数据库,修改和查询存入的内容。我们按照下面的顺序来做这些操作:

1.创建一个空的音乐数据库。

2.在这个数据库中创建一个歌曲表。

3.创建一个索引。

4.在表中插入歌曲的数目。

5.选择所有歌曲条目并显示在控制台上。

6.在表中更新歌曲的条目。

7.用列绑定更新歌曲条目。

8.从表中删除歌曲条目。

9.关闭数据库文件的连接。

2.3.1 项目安装

为了使用Symbian SQL,你的源文件需要包含sqldb.h头文件。Symbian SQL库,sqldb.lib,要包含在你的项目MMP文件中。

2.3.2 创建一个数据库

第一个任务是打开一个数据库文件的连接,用两种方法可以做到。

(1)    创建一个空数据库文件

(2)    打开这个空数据库文件

在这个例子中,我们从创建一个空的数据库文件开始。这个可以用RSqlDatabase::Create()方法来完成,创建的数据库文件在指定的路径。随后就会建立客户端和Symbian SQL 服务端的连接。

RSqlDatabase database; CleanupClosePushL(database); _LIT(KDbName, "C://MusicDb.db"); TInt error = database.Create(KDbName); //Handle any errors and ignore KErrAlreadyExists

Create的文件名要是一个全路径的数据库文件名,最多256个字符。

    这个函数用来创建一个共享安全的数据库。共享安全数据库允许不同的应用程序安全的访问它。访问的这些数据库被假定为是基于Symbian平台安全模型定义的数据库。在第六章会详细讨论共享安全数据库。

RSqlDatabase::Open() 函数用来打开已经存在的数据库文件。这个函数通过完整的文件路径来打开安全的或不安全的数据库。

 

你可能感兴趣的:(sql,数据库,database,insert,音乐,Symbian)