- 1、本文档共89页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章WindowsCE基础数据库编程.doc
第8章Windows CE基础数据库编程
在软件编程中,数据库始终是很重要的一个部分。通过数据库,可以非常方便地存储和
【索数据,极大的提高工作效率。例如要实现一个个人通讯簿的管理,就可以使用数据库,它
’以非常迅速地实现该项功能。在本章中,将重点介绍Windows CE自带的数据库系统EDB。
1果需要存储的数据量较小,数据结构相对简单,EDB将会是非常适用的。
本章主要介绍如下内容:
· EDB概述
· EDB操作综合示例
8.1 EDB概述
从Windows CE 5.0开始,Windows CE自带数据库系统就包括了EDB和CEDB。CEDB
是Windows CE 5.0之前就支持的数据库系统,EDB是Windows CE 5.0之后新增的数据库系统。
EDB可以理解成是对CEDB的升级,新增加了如下功能:
· 支持事务处理功能。
· 使用计划(schemas)定义数据库结构。
· 增加了字段排序功能(支持最多l6个字段排序以及排序字段支持所有字段类型)。
· 新增了“流”字段类型。
· 多用户访问。
在Windows CE 5.0、Willdows CE 6.0中依旧支持CEDB,关于CEDB方面的知识读者可
以参考《EVC高级编程以及应用开发》一书。 ‘
EDB数据库系统支持10种字段数据类型,如表8.1所示。
表8.110种字段数据类型表
数据类型
描述
对应常量
iVal
2个字节有符号整数
CEVT l2
uiVU
2个字节无符号整数
CEVT—Ul2
1Ⅷ
4个字节有符号整数
CEVT l4
ulV.al
4个字节无符号整数
CEVT-_U14
filetime
日期时间结构
CEVl jILETIME
lpwstr
以0结构的UNICODE字符串
CEV£LPWSTR
blob
CEBLOB结构,用于存储一些较小的二进制数据
CEVT—.BLOB
BoolVal
布尔值
CEVT—.BOOL
dblVal
8个字节的有符号值
CEVT—.R8
Stream
内存流
CEVT—.STREAM
256 Windows CE嵌入式高级编程及其实例详解(用C++实现)
本节将来介绍EDB的一些重要APl函数,这些APl函数可以实现创建数据库、打开数损
库以及读写记录等功能。
8.1.1装配数据卷
从Windows CE 2.1开始,数据库文件可以存储在卷中而不用直接存储在对象存储库中。
数据库卷是可以存储Windows CE数据库的特殊格式的文件。在Windows CE中,如果想把参
据库存储在文件中,即要使用数据库卷,就必须先装配数据库卷,并且在关闭数据库后,还矗
卸载数据库卷。装配数据库卷具有两个意思,一是新建数据库卷,二是打开已存在的数据库卷
在Windows CE中装配数据库卷可以通过CeMountDBVolEx函数来实现,它的定义如下:
传
常
BOOL CeMountDBVolEx(
PCEGUID pGuid,
LPWSTR lpwszDBVol,
CEVOLUMEOPTIONS+pOptions,
值
描述
CREATE——NEW
创建一个新的数据库卷,如果数据库卷已存在,函数将失败
CREATE——ALWAYS
创建一个新的数据库卷,如果数据库卷已存在,它将覆盖旧卷
OPEN——EXISTING
打开一个数据库卷,如果数据库卷不存在,函数将失败
OPEN——ALWAYS
打开一个数据库卷,如果数据库卷不存在,则创建一个新的数据库卷
TRUNCATE——EXISTING
打开一个数据库卷,并将其截断为0字节大小。如果数据库卷不存在,
函数将失败
如果函数执行成功,将返回TRUE,还会将参数pGuid设置为某一个值,并且此值可E
差给其他数据库函数使用。如果函数执行失败,则可以调用GetLastError函数获取错误代
见的错误代码如表8.3所示。
表8-3常见错误代码袭
值
描述
ERROR_INVALID_PARAMETER
表示其中某个参数无效
ERROR——BAD——FORMAT
表示数据库卷来自一个不同的EDB版本
ERROR——FILE.—NOT FOUND
表示参数dwFlags值为TRUNCATE_EXISTING,但是要装载
的数据库卷不存在
翠型荡目勘茸犁簿鞣‘轴SAVA~3V
-3J:vauD蕈S天VMlv_N丑d0暮蔡s翱I舭p鞣霉乐些辈
鞍貊回娶骠豳
S工SIXa_凡QvⅡⅪlv—H0ⅪⅦ日
驰卫业哥pJoMs∞dzsMd。suogdod磉霉
文档评论(0)