⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ado访问sql.cpp

📁 两个封装ADO数据库访问的类,一个是数据库的连接类,一个是数据库字段访问的类。
💻 CPP
字号:
 ADO访问SQL(一)     
#import "C:Program FilesCommon FilesSystemadomsado15.dll"    no_namespace rename("EOF","rsEOF")
#include<iostream>

using namespace std;

//数据库基本操作类
class DataAccess
{
private:
    //申明数据库对象
    _ConnectionPtr pConn;
    _RecordsetPtr pRst;
    _CommandPtr pCmd;
    //连接标识符
    bool flag;
public:
    DataAccess()
    {
        //初始化连接对象
        CoInitialize(NULL);
        //创建ADO连接实例
        pConn.CreateInstance(__uuidof(Connection));
        //创建ADO记录集实例
        pRst.CreateInstance(__uuidof(Recordset));
        //创建ADO命令实例
        pCmd.CreateInstance(__uuidof(Command));
        //定义连接字符
        pConn->ConnectionString="Provider=SQLOLEDB;Server=(local);Database=Book; uid=sa; pwd=;";
        //标识符默认为false
        flag=false;
    }
    ~DataAccess()
    {
        //记录集不为空,释放记录集
        if(pRst!=NULL)
        {
            pRst->Close();
            pRst.Release();
        }
        //Cmd类不为空,释放Cmd
        if(pCmd!=NULL)
        {
            pCmd.Release();
        }
        //连接不为空,释放连接
        if(pConn!=NULL)
        {
            pConn->Close();
            pConn.Release();
        }
    }
    //打开数据库,成功返回TRUE,失败返回FALSE
    BOOL openConn()
    {
        try
        {
            this->pConn->Open("","","",adConnectUnspecified);
            flag=true;
            return flag;
        }
        catch(_com_error &e)
        {
            return FALSE;
        }
    }
    //执行SQL语句,成功返回_Recordset,失败返回NULL
    _RecordsetPtr searchSql(_bstr_t sql)
    {
        try
        {
            if(flag==false)
            {
                this->openConn();
            }
            pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
            pCmd->CommandText=sql;
            this->pRst->Open(sql,(IDispatch*)this->pConn,adOpenDynamic,adLockOptimistic,adCmdText);
            //this->pRst=pCmd->Execute(NULL,NULL,adCmdText);
            return pRst;
        }
        catch(_com_error &e)
        {
            return NULL;
        }
    }
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -