Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465787
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:07:11

在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;iGetString ();
		m_list.AddString (strCode);
	}
}
五、删除数据
void CEP_PPDlg::DeleteDB()
{
	int num=0;
	
	num=(int)m_db.GetNumRecords ();
	for(int i=0;i
       六、插入数据 
      
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),没有字段的定义了。

--------------------next---------------------

阅读(182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~