摘自:
http://www.cnblogs.com/randylee/archive/2007/07/19/824555.html
WM5以前的系統(tǒng)中一般都是使用的CEDB數(shù)據(jù)庫,EDB是WM5中的新特性之一。為了改善應(yīng)用程序的性能和長期可移植性,CEDB 已經(jīng)被 EDB 所取代。EDB 利用了 SQL Mobile 使用的存儲子系統(tǒng),并且提供了明顯優(yōu)于 CEDB 的性能(尤其是在與持久存儲區(qū)一起使用時(shí))。因?yàn)?CEDB 提供了與 EDB 完全相同的函數(shù)集 ,所有函數(shù)都具有相同的名稱和參數(shù)列表。但是EDB中也包含了CEDB中所沒有函數(shù),并且創(chuàng)建方法也不相同了,要比CEDB復(fù)雜。以下就是EDB的創(chuàng)建和使用法:
一。創(chuàng)建:
1。CeMountDBVol( );//創(chuàng)建卷
2。CeCreateDatabaseWithProps();//卷創(chuàng)建成功后創(chuàng)建EDB
3。CeCreateSession();//EDB創(chuàng)建成功后創(chuàng)建session,用于打開EDB
4。CeOpenDatabaseInSession();//打開EDB
創(chuàng)建EDB時(shí)前還要?jiǎng)?chuàng)建一個(gè)CEDBASEINFOEX對象,這個(gè)對象用于創(chuàng)建EDB中的info,用于設(shè)定EDB。
在打開時(shí)還要維護(hù)一個(gè)全局的HANDLE,在以后的操作中是要使用的
二。選擇數(shù)據(jù)
1。CeSeekDatabaseEx();//定位所要找的數(shù)據(jù)
2。CeReadRecordPropsEx();//讀出定位的數(shù)據(jù)
創(chuàng)建一個(gè)CEPROPVAL對象,將所要定位數(shù)據(jù)的條件傳給這個(gè)結(jié)構(gòu)。
三。插入數(shù)據(jù)
CeWriteRecordProps();//數(shù)據(jù)寫入EDB
創(chuàng)建一個(gè)CEPROPVAL對象,或?qū)ο髷?shù)組,將所要寫入的數(shù)據(jù)傳給這些對象。
四。刪除數(shù)據(jù)
1。CeSeekDatabaseEx();//定位要?jiǎng)h除的數(shù)據(jù)
2。CeDeleteRecord();//刪除定位的數(shù)據(jù)
五。更新數(shù)據(jù)
所插入數(shù)據(jù)基本相同,就是將已有數(shù)據(jù)覆蓋
1。CeSeekDatabaseEx();//定位所要找的數(shù)據(jù)
2。CeWriteRecordProps();//數(shù)據(jù)寫入新數(shù)據(jù)到EDB覆蓋原數(shù)據(jù)
六。關(guān)閉EDB
CloseHandle(打開時(shí)的句柄);
在這里關(guān)鍵是創(chuàng)建EDB時(shí)所選的參數(shù),和對結(jié)構(gòu)體的使用,這樣才能正確定位數(shù)據(jù),否則選擇、更新、刪除都無法實(shí)現(xiàn)。
另外, MSDN中也有相關(guān)的文章
EDB Database Support
http://msdn.microsoft.com/en-us/library/ms885373.aspx
一定要理解的清楚一些。
呵呵,加油。
posted on 2009-06-26 13:48
Sandy 閱讀(957)
評論(0) 編輯 收藏 引用 所屬分類:
Windows Mobile