WindowsCE嵌入式高级编程及其实例详解8.doc

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WindowsCE嵌入式高级编程及其实例详解8

第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ⅪⅦ日 

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档