Windows Mobile上使用WINCE自帶數(shù)據(jù)庫
通過數(shù)據(jù)庫,可以方便地存儲和檢索數(shù)據(jù),極大地提高工作效率。在Windows CE .NET 4.2上,自帶了一個數(shù)據(jù)庫,具體我們可以參考MSDN上的網(wǎng)頁:Microsoft Windows CE .NET 4.2 Database Reference。由于它最多只支持4種排序索引,這種數(shù)據(jù)庫適合存儲的數(shù)據(jù)量較小、數(shù)據(jù)結(jié)構(gòu)相對簡單的情況。它支持的數(shù)據(jù)類型包括2/4字節(jié)有/無符號整數(shù)、日期時間、Unicode字符串、CEBLOB、布爾和8字節(jié)有符號值。
數(shù)據(jù)庫的主要操作包括以下幾個方面:
裝配數(shù)據(jù)庫卷:BOOL CeMountDBVol( PCEGUID pceguid, LPWSTR lpszDBVol,DWORD dwFlags); |
使用方法
1.首先在主對話框的頭文件中(這里我們建立了一個基于對話框的工程),我們來聲明部分變量,用于存儲數(shù)據(jù)庫文件名和數(shù)據(jù)庫名;定義一個數(shù)據(jù)庫表結(jié)構(gòu);以及人員信息庫的字段標(biāo)識,我們通過MAKELONG宏來組合字段數(shù)據(jù)庫類型和標(biāo)識。相關(guān)代碼如下:
Code //定義數(shù)據(jù)庫文件名 const LPTSTR DBFILENAME = _T("\\My Documents\\Workerinfo.db"); |
2.為主對話框添加三個私有成員變量,用于存儲庫文件卷標(biāo)識、數(shù)據(jù)庫句柄以及數(shù)據(jù)庫對象標(biāo)識。代碼片斷如下:
private:
CEGUID m_ceGuid; //存儲數(shù)據(jù)庫文件標(biāo)志
HANDLE m_hDB;//存儲數(shù)據(jù)庫句柄
CEOID m_ceOid;//存儲數(shù)據(jù)庫對象標(biāo)志
3.在主對話框中給出裝配數(shù)據(jù)庫卷、卸載數(shù)據(jù)庫卷、創(chuàng)建數(shù)據(jù)庫、打開數(shù)據(jù)庫、寫數(shù)據(jù)庫、讀數(shù)據(jù)庫、關(guān)閉數(shù)據(jù)庫等等操作。這里就不羅列了。
實例工程是一個WM6平臺上的WINCE數(shù)據(jù)庫,基于對話框的應(yīng)用程序,程序運(yùn)行效果如下圖所示:
圖1:程序運(yùn)行圖
另外,我們可以在設(shè)備的“My Documents”目錄下,找到“Workerinfo.db”文件,正如我們在頭文件中所設(shè)置的路徑,如下圖2所示:
圖2:數(shù)據(jù)庫文件的路徑
【編輯推薦】