WEB开发网
开发学院软件开发VC 在EVC3.0中使用数据库 阅读

在EVC3.0中使用数据库

 2008-04-19 20:27:54 来源:WEB开发网   
核心提示:Embedded Visual C++3.0是Windows CE上程序的VC开发工具,主要应用在掌上电脑上,在EVC3.0中使用数据库,由于掌上电脑上容量较小,所以只有一个简单的数据库引擎,const DWORD DB_IDENT=12347;const WCHAR DB_NAME[]=L"code&quo

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

Tags:EVC 使用 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接