您现在所在的是:

嵌入式系统

回帖:5个,阅读:1256 [上一页] [1] [下一页]
1223
天山老克
文章数:91
年度积分:50
历史总积分:1223
注册时间:2007/11/30
发站内信
发表于:2008/3/26 14:19:00
#0楼
自Windows CE出台2年以后,微软就推出一套增加了很多额外特性的带Ex 扩展的函数,这一变化大大增强了Windows CE 数据库的功能。
程序员可以利用ADOCE 来存储数据,这一过程也采用了Pocket Access 或 SQL Server 2000 来实现。ADO 和ADOCE 通常有相同的记录连接。

建立数据库:
建立一个数据库的卷:
BOOL CeMountDBVol( PCEGUID pceguid, LPWSTR lpszDBVol, DWORD dwFlags);

如果一个打开的卷已经存在,接着就可以建立一个数据库:
CEOID CeCreateDatabaseEx(PCEGUID pceguid, CEDBASEINFO * lpCEDBInfo )

图

CeCreateDatabaseEx提供了以上功能。建立的数据库的卷叫\CEDB.clb。
该卷存放于文件系统中,并带有一个缺省的扩展名CLB。

打开数据库:
HANDLE CeOpenDatabaseEx( PCEGUID pceguid, PCEOID poid, LPWSTR lpszName,
                           CEPROPID propid, DWORD dwFlags,
                                CENOTIFYREQUEST *pRequest hwndNotify );

打开数据库后,定位在数据库的开头顺序读取:
CEOID CeSeekDatabase( HANDLE hDatabase, DWORD dwSeekType,
                            DWORD dwValue, LPDWORD lpdwIndex );

增加一条记录到数据库:
CEOID CeWriteRecordProps( HANDLE hDbase, CEOID oidRecord,
                          WORD cPropID, CEPROPVAL * rgPropVal );

数据库读取:
CEOID CeReadRecordPropsEx ( HANDLE hDbase, DWORD dwFlags,
                             LPWORD lpcPropID, CEPROPID * rgPropID,
                             LPBYTE * lplpBuffer, LPDWORD lpcbBuffer,
                             HANDLE hHeap );

关闭数据库:
BOOL CeUnmountDBVol ( PCEGUID pceguid );

清除数据库:
从 开始 菜单,单击 程序 → 文件资源管理器 并浏览,找到想要清除的数据库文件的目录。
单击数据库文件,出现一个提示菜单。
单击 删除 按钮。
单击 是 按钮,确认删除此文件。
注:如果打算删除数据库,该数据库不能在运行状态。 删除数据库之后,再删除事务日志文件。如果数据库从未启动过,则没有创建事务日志。

小结:
现在,你已经可以编写一个简单的Windows CE 数据库程序咯,快去试试看吧。
1223
天山老克
文章数:91
年度积分:50
历史总积分:1223
注册时间:2007/11/30
发站内信
发表于:2008/3/26 14:20:00
#1楼
再次分享给大家!
1038
白巧克力
文章数:56
年度积分:50
历史总积分:1038
注册时间:2007/12/3
发站内信
发表于:2008/4/2 16:30:00
#2楼
谢谢LZ发帖,ADO和ADOCE是不是特性差不多啊?
1223
天山老克
文章数:91
年度积分:50
历史总积分:1223
注册时间:2007/11/30
发站内信
发表于:2008/4/2 16:31:00
#3楼
以下是引用白巧克力在2008-4-2 16:30:00的发言:
谢谢LZ发帖,ADO和ADOCE是不是特性差不多啊?


恩。有一个比较重要的特性:它们的打开、添加和删除记录都非常类似。
1038
白巧克力
文章数:56
年度积分:50
历史总积分:1038
注册时间:2007/12/3
发站内信
发表于:2008/4/2 16:32:00
#4楼
CENOTIFYREQUEST那步操作是干什么用的?
1223
天山老克
文章数:91
年度积分:50
历史总积分:1223
注册时间:2007/11/30
发站内信
发表于:2008/4/2 16:33:00
#5楼
以下是引用白巧克力在2008-4-2 16:32:00的发言:
CENOTIFYREQUEST那步操作是干什么用的?


CENOTIFYREQUEST通过回调函数告诉我们在同一时刻的数据库的变化。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002