打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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;
        }
    }
};
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1784682


[收藏到我的网摘]   [发送Trackback]  kissyougoodby发表于 2007年09月14日 09:54:06
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
第一次在VS2010下MFC采用ADO方式连接ACCESS数据库(详细过程)
ADO数据库连接
关于存储过程的ADO调用的一些心得(输出参数,返回值)-数据库专栏,SQL Server-...
C++使用ADO存取图片(SQL Server2000)
孙鑫VC学习笔记:第二十讲 (二) ado数据库编程
使用ADO,最后关闭_ConnectionPtr,_RecordsetPtr后,析构出错,请教高手
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服