#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","rsEOF")
#include<iostream>
using namespace std;
//數(shù)據(jù)庫(kù)基本操作類(lèi)
class DataAccess
{
private:
//申明數(shù)據(jù)庫(kù)對(duì)象
_ConnectionPtr pConn;
_RecordsetPtr pRst;
_CommandPtr pCmd;
//連接標(biāo)識(shí)符
bool flag;
public:
DataAccess()
{
//初始化連接對(duì)象
CoInitialize(NULL);
//創(chuàng)建ADO連接實(shí)例
pConn.CreateInstance(__uuidof(Connection));
//創(chuàng)建ADO記錄集實(shí)例
pRst.CreateInstance(__uuidof(Recordset));
//創(chuàng)建ADO命令實(shí)例
pCmd.CreateInstance(__uuidof(Command));
//定義連接字符
pConn->ConnectionString="Provider=SQLOLEDB;Server=(local);Database=Book; uid=sa; pwd=;";
//標(biāo)識(shí)符默認(rèn)為false
flag=false;
}
~DataAccess()
{
//記錄集不為空,釋放記錄集
if(pRst!=NULL)
{
pRst->Close();
pRst.Release();
}
//Cmd類(lèi)不為空,釋放Cmd
if(pCmd!=NULL)
{
pCmd.Release();
}
//連接不為空,釋放連接
if(pConn!=NULL)
{
pConn->Close();
pConn.Release();
}
}
//打開(kāi)數(shù)據(jù)庫(kù),成功返回TRUE,失敗返回FALSE
BOOL openConn()
{
try
{
this->pConn->Open("","","",adConnectUnspecified);
flag=true;
return flag;
}
catch(_com_error &e)
{
return FALSE;
}
}
//執(zhí)行SQL語(yǔ)句,成功返回_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;
}
}
};
#include<iostream>
using namespace std;
//數(shù)據(jù)庫(kù)基本操作類(lèi)
class DataAccess
{
private:
//申明數(shù)據(jù)庫(kù)對(duì)象
_ConnectionPtr pConn;
_RecordsetPtr pRst;
_CommandPtr pCmd;
//連接標(biāo)識(shí)符
bool flag;
public:
DataAccess()
{
//初始化連接對(duì)象
CoInitialize(NULL);
//創(chuàng)建ADO連接實(shí)例
pConn.CreateInstance(__uuidof(Connection));
//創(chuàng)建ADO記錄集實(shí)例
pRst.CreateInstance(__uuidof(Recordset));
//創(chuàng)建ADO命令實(shí)例
pCmd.CreateInstance(__uuidof(Command));
//定義連接字符
pConn->ConnectionString="Provider=SQLOLEDB;Server=(local);Database=Book; uid=sa; pwd=;";
//標(biāo)識(shí)符默認(rèn)為false
flag=false;
}
~DataAccess()
{
//記錄集不為空,釋放記錄集
if(pRst!=NULL)
{
pRst->Close();
pRst.Release();
}
//Cmd類(lèi)不為空,釋放Cmd
if(pCmd!=NULL)
{
pCmd.Release();
}
//連接不為空,釋放連接
if(pConn!=NULL)
{
pConn->Close();
pConn.Release();
}
}
//打開(kāi)數(shù)據(jù)庫(kù),成功返回TRUE,失敗返回FALSE
BOOL openConn()
{
try
{
this->pConn->Open("","","",adConnectUnspecified);
flag=true;
return flag;
}
catch(_com_error &e)
{
return FALSE;
}
}
//執(zhí)行SQL語(yǔ)句,成功返回_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
[收藏到我的網(wǎng)摘] [發(fā)送Trackback] kissyougoodby發(fā)表于 2007年09月14日 09:54:06