在EVC3.0中使用数据库

王朝vc·作者佚名  2006-01-17
宽屏版  字体: |||超大  

在EVC3.0中使用数据库

作者:肖进

下载本文示例源代码

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),没有字段的定义了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有