Embedded Visual C++3.0是Windows CE上程序的VC開發工具,主要應用在掌上電腦上。
由於掌上電腦上容量較小,所以只有一個簡單的數據庫引擎。以下就是該數據庫引擎的使用方法,僅供大家參考。
一、 定義一些常數:
定義數據的識別碼、數據庫名和記錄屬性的識別碼。在這裡已經沒有字段這個東西了。
const DWORD DB_IDENT=12347;
const WCHAR DB_NAME[]=L"code";
const WORD PROP_CODE=102;
二、 定義數據庫變量
CCeDBDatabase m_db;
三、打開數據庫
BOOL CEP_PPDlg::OpenDB()
{
CEOID poid;
BOOL b;
CCeDBProp sort[1]={
CCeDBProp(CCeDBProp::Type_String,PROP_CODE,CCeDBProp::Sort_Ascending)
}; //排序屬性
if(!(b=CCeDBDatabase::Exists (DB_NAME))) //判斷數據庫是否存在
{
//create database
if(!(poid=m_db.Create (DB_NAME,DB_IDENT,1,sort)))
return FALSE;
}
if(!(b=m_db.Open (DB_NAME)))
return FALSE;
m_bIsConnect=TRUE;
return TRUE;
}
四、讀數據
void CEP_PPDlg::ReadDB()
{
CCeDBRecord rs;
CString strCode; //value of code
int num=0;
num=(int)m_db.GetNumRecords (); //記錄條數
for(int i=0;i<num;i++)
{
//get current record
m_db.ReadCurrRecord (&rs); //讀取當前記錄
strCode=rs.GetPropFromIdent (PROP_CODE)->GetString ();
m_list.AddString (strCode);
}
}
五、刪除數據
void CEP_PPDlg::DeleteDB()
{
int num=0;
num=(int)m_db.GetNumRecords ();
for(int i=0;i<num;i++)
{
m_db.SeekFirst ();
m_db.DeleteCurrRecord ();
}
}
六、插入數據
void CEP_PPDlg::InsertDB(int i)
{
WCHAR wcCode[15];
CCeDBProp props[1];
CString strCode;
CCeDBRecord * rs;
rs=new CCeDBRecord;
m_list.GetText (i,strCode);
strCode.TrimRight ();
::swprintf(wcCode,L"%s",strCode);
props[0]=CCeDBProp(wcCode,PROP_CODE);
rs->AddProps (props,1);
m_db.AddRecord (rs);
delete rs;
}
七、關閉數據庫
BOOL CEP_PPDlg::CloseDB()
{
return m_db.Close ();
}
說明:
1、具體內容見程序。
2、數據庫主要用到三個類:CCeDBDatabase、CCeDBRecord、CCeDBProp
3、數據庫包括若干記錄(record),每個記錄包括若干屬性(Property),沒有字段的定義了。