日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WindowsMobile上使用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ù)結構相對簡單的情況。它支持的數(shù)據(jù)類型包括2/4字節(jié)有/無符號整數(shù)、日期時間、Unicode字符串、CEBLOB、布爾和8字節(jié)有符號值。

數(shù)據(jù)庫的主要操作包括以下幾個方面:

裝配數(shù)據(jù)庫卷:BOOL CeMountDBVol( PCEGUID pceguid, LPWSTR lpszDBVol,DWORD dwFlags);

 

卸載數(shù)據(jù)庫卷:BOOL CeUnmountDBVol(PCEGUID pceguid);

創(chuàng)建數(shù)據(jù)庫:CEOID CeCreateDatabaseEx( PCEGUID pceguid, CEDBASEINFO *lpCEDBInfo);

打開數(shù)據(jù)庫: HANDLE CeOpenDatabaseEx( PCEGUID pceguid, PCEOID poid,LPWSTR lpszName,

CEPROPID propid, DWORD dwFlags,CENOTIFYREQUEST *pReq);

寫數(shù)據(jù)庫: CEOID CeWriteRecordProps(HANDLE hDbase, CEOID oidRecord,

WORD cPropID, CEPROPVAL *rgPropVal),

讀數(shù)據(jù)庫: CEOID CeReadRecordPropsEx( HANDLE hDbase, DWORD dwFlags,LPWORD lpcPropID,

CEPROPID *rgPropID, LPBYTE *lplpBuffer,LPDWORD lpcbBuffer, HANDLE hHeap);

刪除記錄:BOOL CeDeleteRecord(HANDLE hDatabase, CEOID oidRecord);

移動指針:CEOID CeSeekDatabaseEx(HANDLE hDatabase,DWORD dwSeekType,

DWORD dwValue, WORD wNumVals, LPDWORD lpdwIndex);

使用方法

1.首先在主對話框的頭文件中(這里我們建立了一個基于對話框的工程),我們來聲明部分變量,用于存儲數(shù)據(jù)庫文件名和數(shù)據(jù)庫名;定義一個數(shù)據(jù)庫表結構;以及人員信息庫的字段標識,我們通過MAKELONG宏來組合字段數(shù)據(jù)庫類型和標識。相關代碼如下:

Code
//定義數(shù)據(jù)庫文件名
const LPTSTR DBFILENAME = _T("\\My Documents\\Workerinfo.db");

 

//定義數(shù)據(jù)庫名
const LPTSTR DBTABLENAME = _T("Worker");

//定義員工數(shù)據(jù)庫表結構
typedef struct{

TCHARszID[10];//子機ID號

TCHARszName[20]; //員工姓名

TCHAR szWorkNum[10]; //工號

TCHAR szDepartment[20]; //部門號

}REC_WORKER,*PREC_WORKER;

//定義子機ID號字段標志
#define PID_NOMAKELONG(CEVT_LPWSTR,1)

//定義員工姓名字段標志
#define PID_NAMEMAKELONG(CEVT_LPWSTR,2)

//定義工號字段標志
#define PID_WorkNumMAKELONG(CEVT_LPWSTR,3)

//定義員工部門字段標志
#define PID_DepartmentMAKELONG(CEVT_LPWSTR,4)

2.為主對話框添加三個私有成員變量,用于存儲庫文件卷標識、數(shù)據(jù)庫句柄以及數(shù)據(jù)庫對象標識。代碼片斷如下:

private:
CEGUID m_ceGuid; //存儲數(shù)據(jù)庫文件標志

HANDLE m_hDB;//存儲數(shù)據(jù)庫句柄

CEOID m_ceOid;//存儲數(shù)據(jù)庫對象標志

3.在主對話框中給出裝配數(shù)據(jù)庫卷、卸載數(shù)據(jù)庫卷、創(chuàng)建數(shù)據(jù)庫、打開數(shù)據(jù)庫、寫數(shù)據(jù)庫、讀數(shù)據(jù)庫、關閉數(shù)據(jù)庫等等操作。這里就不羅列了。

實例工程是一個WM6平臺上的WINCE數(shù)據(jù)庫,基于對話框的應用程序,程序運行效果如下圖所示:

圖1:程序運行圖

另外,我們可以在設備的“My Documents”目錄下,找到“Workerinfo.db”文件,正如我們在頭文件中所設置的路徑,如下圖2所示:

圖2:數(shù)據(jù)庫文件的路徑


網(wǎng)頁名稱:WindowsMobile上使用WINCE自帶數(shù)據(jù)庫
標題路徑:http://www.dlmjj.cn/article/dpdihjg.html