Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5381263
  • 博文数量: 671
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7310
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-14 09:56
文章分类

全部博文(671)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(271)

2007年(319)

2006年(54)

我的朋友

分类: C/C++

2008-12-16 17:20:42

WM5以前的系统中一般都是使用的CEDB数据库,EDB是WM5中的新特性之一。为了改善应用程序的性能和长期可移植性,CEDB 已经被 EDB 所取代。EDB 利用了 SQL Mobile 使用的存储子系统,并且提供了明显优于 CEDB 的性能(尤其是在与持久存储区一起使用时)。因为 CEDB 提供了与 EDB 完全相同的函数集 ,所有函数都具有相同的名称和参数列表。但是EDB中也包含了CEDB中所没有函数,并且创建方法也不相同了,要比CEDB复杂。以下就是EDB的创建和使用法:

一。创建:
1。CeMountDBVol( );//创建卷
2。CeCreateDatabaseWithProps();//卷创建成功后创建EDB
3。CeCreateSession();//EDB创建成功后创建session,用于打开EDB
4。CeOpenDatabaseInSession();//打开EDB
创建EDB时前还要创建一个CEDBASEINFOEX对象,这个对象用于创建EDB中的info,用于设定EDB。
在打开时还要维护一个全局的HANDLE,在以后的操作中是要使用的

二。选择数据
1。CeSeekDatabaseEx();//定位所要找的数据
2。CeReadRecordPropsEx();//读出定位的数据
创建一个CEPROPVAL对象,将所要定位数据的条件传给这个结构。

三。插入数据
CeWriteRecordProps();//数据写入EDB
创建一个CEPROPVAL对象,或对象数组,将所要写入的数据传给这些对象。

四。删除数据
1。CeSeekDatabaseEx();//定位要删除的数据
2。CeDeleteRecord();//删除定位的数据

五。更新数据
所插入数据基本相同,就是将已有数据覆盖
1。CeSeekDatabaseEx();//定位所要找的数据
2。CeWriteRecordProps();//数据写入新数据到EDB覆盖原数据

六。关闭EDB
CloseHandle(打开时的句柄);

在这里关键是创建EDB时所选的参数,和对结构体的使用,这样才能正确定位数据,否则选择、更新、删除都无法实现。
阅读(1649) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~