| 
 一、新建工程access数据库,基本对话框。 
二、添加类 
  
Class Type:Generic Class  
Name: CADOConn 
  
三、在ADOConn.h中加 
。。。。。。。。。。。。。。。 
#define AFX_ADOCONN_H__15D0A1C8_EEF1_419C_A48B_A08BF8F60FD6__INCLUDED_ 
#import "c:\Program Files\Common Files\System\ado\msado15.dll"no_namespace \ 
rename("EOF","adoEOF")rename("BOF","adoBOF") 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
class CADOConn   
{ 
public: 
       CADOConn(); 
       virtual ~CADOConn(); 
       //添加一个指向Connection对象的指针 
       _ConnectionPtr m_pConnection; 
       //添加一个指向Recordset对象的指针 
       _RecordsetPtr m_pRecordset; 
}; 
#endif // !defined(AFX_ADOCONN_H__15D0A1C8_EEF1_419C_A48B_A08BF8F60FD6__INCLUDED_) 
四、在类CADOConn中加成员函数 
  
Function Type:void 
Function Declaration:OnInitADOConn() 
Access:Public 
  
五、加入代码 
void CADOConn::OnInitADOConn() 
{ 
       //初始化OLE/COM库环境 
    ::CoInitialize(NULL); 
       try 
       { 
              //创建connection对象 
              m_pConnection.CreateInstance("ADODB.Connection");         
              //设置连接字符串 
              _bstr_t strConnect="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=database.mdb;"; 
              //SERVER和UID,PWD的设置根据实际情况来设置 
              m_pConnection->Open(strConnect,"","",adModeUnknown); 
       } 
       //捕捉异常 
       catch(_com_error e) 
       { 
              //显示错误信息 
              AfxMessageBox(e.Description()); 
       } 
} 
六、类CADOConn中加成员函数 
Function Type:void 
Function Declaration:ExitConnect() 
Access:Public 
七、加入代码 
void CADOConn::ExitConnect() 
{ 
       //关闭记录集和连接 
    if(m_pRecordset!=NULL) 
              m_pRecordset->Close(); 
       m_pConnection->Close(); 
       //释放环境 
       ::CoUninitialize(); 
} 
八、加成员函数同时加入代码 
Function Type:_RecordsetPtr& 
Function Declaration:GetRecordSet(_bstr_t bstrSQL) 
Access:Public 
  
_RecordsetPtr& CADOConn::GetRecordSet(_bstr_t bstrSQL) 
{ 
    try 
       { 
              if(m_pConnection==NULL) 
              OnInitADOConn(); 
              m_pRecordset.CreateInstance(__uuidof(Recordset)); 
        m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
       } 
    catch(_com_error e) 
       { 
              e.Description(); 
       } 
       return m_pRecordset; 
} 
  
  
九、加入一个列表框控件 
ID: IDC_LIST1 
变量名:m_grid  类型:CListCtrl 
BOOL CAccessDlg::OnInitDialog() 
{ 
       CDialog::OnInitDialog(); 
。。。。。。。。。。。。。。。。。。。。。。。。。。 
       // TODO: Add extra initialization here 
              m_grid.SetExtendedStyle(LVS_EX_FLATSB 
              |LVS_EX_FULLROWSELECT 
              |LVS_EX_HEADERDRAGDROP 
              |LVS_EX_ONECLICKACTIVATE 
              |LVS_EX_GRIDLINES); 
       m_grid.InsertColumn(0,"编号",LVCFMT_LEFT,100,0); 
       m_grid.SetColumnWidth(0 ,180); 
  
       return TRUE;  // return TRUE  unless you set the focus to a control 
} 
  
十、access数据库Dlg.cpp加入#include "ADOConn.h" 
十一、       加成员函数 
Function Type:void 
Function Declaration:AddToGrid() 
Access:Public 
在OnInitDialog()中加入代码 
。。。。。。。。。。。。。。。。。。。。。。。。。 
       m_grid.SetColumnWidth(0 ,180); 
       AddToGrid(); 
       return TRUE;  // return TRUE  unless you set the focus to a control 
} 
在AddToGrid()中加入代码 
void CAccessDlg::AddToGrid() 
{ 
       CADOConn m_AdoConn; 
       m_AdoConn.OnInitADOConn(); 
       CString sql; 
       sql.Format("select* from txl1 order by id desc"); 
       _RecordsetPtr m_pRecordset; 
       m_pRecordset = m_AdoConn.GetRecordSet((_bstr_t)sql); 
       while(m_AdoConn.m_pRecordset->adoEOF==0) 
       { 
              m_grid.InsertItem(0,""); 
              m_grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("name")); 
              m_pRecordset->MoveNext(); 
       } 
       m_AdoConn.ExitConnect(); 
} 
 |