现在的位置: 首页 > 综合 > 正文

VC中DAO

2012年04月23日 ⁄ 综合 ⁄ 共 1341字 ⁄ 字号 评论关闭

 CDaoDatabase m_DB;
 CDaoTableDef m_OpenTable(&m_DB);
 CDaoRecordset rs;
 CString szTemp;
 COleVariant var;
 int iCount;
 try {
        m_DB.Open(".\\Table.mdb");
 }
 catch( CDaoException* e ) {
        e->Delete();       // Delete the incomplete recordset object
 }
 try{
        m_OpenTable.Open("ListMst"); 
 }
 catch (CDaoException *e){
  e->Delete(); 
 }
 try{
  rs.Open(&m_OpenTable,dbOpenTable,0); 
 }
 catch (CDaoException *e) {
  e->Delete(); }
 if(!(rs.IsEOF()&&rs.IsBOF())) 
 {
// DAO读出
      rs.MoveFirst();
      while(!rs.IsEOF())
      {
           rs.GetFieldValue("list",var); 
           m_list.AddString((const char *)var.pbVal);
           m_Lc=rs.GetFieldValue("iRadio").intVal; 
           m_Log.EnableWindow(rs.GetFieldValue(4).boolVal);
           m_list.SetCurSel(rs.GetFieldValue(6).intVal);
           rs.MoveNext();
      }
 }
 rs.Close();
 m_OpenTable.Close();
 m_DB.Close();

// DAO删除
 if(!(rs.IsEOF()&&rs.IsBOF()))
 {
  rs.MoveFirst();
  while(!rs.IsEOF())
  {
   rs.Delete();
   rs.MoveNext();
  }
 }

// DAO添加
   rs.AddNew();        
   var=COleVariant(iCount,VT_I4);    
   rs.SetFieldValue("list_id",var);   
   rs.SetFieldValue("list",(LPCTSTR)(szTemp)); 
   try{
    rs.Update();       
   }
   catch(CDaoException* e){
    e->Delete();
   }
 var.vt=VT_BOOL;
 if(m_Log.EnableWindow()==0) 
  var.boolVal=true;
 else
  var.boolVal=false;
 rs.SetFieldValue("bLogin",var);

如果编译时提示未定义数据库相关的,先在stdafx.h中包含进afxdao.h文件.

抱歉!评论已关闭.