程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 在EVC3.0中使用數據庫

在EVC3.0中使用數據庫

編輯:關於VC++

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved