龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

vc对Access数据库访问方法

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
在StdAfx.h文件中,#endif // _AFX_NO_AFXCMN_SUPPORT之前,加入: #import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 接着, 在My.cpp文件InitInstance方法中, AfxEnableControlContainer();之前

在StdAfx.h文件中,#endif // _AFX_NO_AFXCMN_SUPPORT之前,加入:
#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF")
接着, 在My.cpp文件InitInstance方法中, AfxEnableControlContainer();之前,加入:
 if(!AfxOleInit())  //初始化
 { AfxMessageBox( " initialize false!" ); }
我定了一个类,方便使用:

// ADODB.h
class CADODB
...{
public:
    _ConnectionPtr m_pConnection;
    _RecordsetPtr m_pRecordset;
    _CommandPtr m_pCommand;
    BOOL bOpenDB;
    CString m_strSQL;

    CADODB();
    void ADOConnection();    //打开连接数据库
    void ADOClose();    //关闭断开数据库
    BOOL ADOUpdata(CString strCommand);     //更新操作,新建,删除,修改
    _RecordsetPtr ADOSelect(CString strCommand);     //返回查询结果集
};
extern CADODB ADOCtrl;
 

//ADODB.cpp

CADODB ADOCtrl;

CADODB::CADODB()
...{                   bOpenDB = FALSE;
}

void CADODB::ADOConnection()
...{    CHAR DBfilePath[MAX_PATH];
    CString m_strdir;
   
    m_pConnection.CreateInstance("ADODB.Connection");
    m_pRecordset.CreateInstance("ADODB.Recordset");
    m_pCommand.CreateInstance("ADODB.Command");

    GetCurrentDirectory(MAX_PATH,DBfilePath);
    m_strdir.Format("%sconfig.udl",DBfilePath);  这里使用.udl连接文件, 我是udl,mdb,exe都放在同一目录下
    strtemp.Format("File Name=%s",m_strdir);
    m_pConnection->ConnectionString = (_bstr_t)strtemp;   注意使用时,数据类型变换
    m_pConnection->Open("","","",NULL);
    m_pCommand->ActiveConnection = m_pConnection;
    bOpenDB = TRUE;   
}

void CADODB::ADOClose()
...{    if (bOpenDB)
    ...{
        m_pConnection->Close();
        m_pConnection.Release();
        m_pRecordset.Release();
        m_pCommand.Release();
    }
}

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接