?? ado訪問sql.cpp
字號(hào):
ADO訪問SQL(一)
#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","rsEOF")
#include<iostream>
using namespace std;
//數(shù)據(jù)庫基本操作類
class DataAccess
{
private:
//申明數(shù)據(jù)庫對(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類不為空,釋放Cmd
if(pCmd!=NULL)
{
pCmd.Release();
}
//連接不為空,釋放連接
if(pConn!=NULL)
{
pConn->Close();
pConn.Release();
}
}
//打開數(shù)據(jù)庫,成功返回TRUE,失敗返回FALSE
BOOL openConn()
{
try
{
this->pConn->Open("","","",adConnectUnspecified);
flag=true;
return flag;
}
catch(_com_error &e)
{
return FALSE;
}
}
//執(zhí)行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;
}
}
};
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -