登录
首页 嵌入式系统 嵌入式系统
回帖 发帖
正文

主题:编写Windows CE程序 (二)

点击:1255 回复:5

自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 )
http://www.farsight.com.cn/FarsightBBS/UploadFile/2008-3/20083261401041605.jpg
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 数据库程序咯,快去试试看吧。
08-03-26 14:19
再次分享给大家!
08-03-26 14:20
谢谢LZ发帖,ADO和ADOCE是不是特性差不多啊?
08-04-02 16:30

引用 白巧克力 在 2008-4-2 16:30:00 发言【内容省略】

恩。有一个比较重要的特性:它们的打开、添加和删除记录都非常类似。
08-04-02 16:31
CENOTIFYREQUEST那步操作是干什么用的?
08-04-02 16:32

引用 白巧克力 在 2008-4-2 16:32:00 发言【内容省略】

CENOTIFYREQUEST通过回调函数告诉我们在同一时刻的数据库的变化。
08-04-02 16:33

工控新闻

更多新闻资讯