資源簡介
該程序利用ADO類操作SQL Server 數據庫,實現添加、刪除、修改的功能
代碼片段和文件信息
//?ADO.cpp:?implementation?of?the?ADO?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
//#include?“MyAdo.h“
#include?“ADO.h“
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
ADO::ADO()
{
}
ADO::~ADO()
{
}
void?ADO::OnInitADOConn()
{
::CoInitialize(NULL);//初始化COM環境
try
{
???????HRESULT?hr=m_pConnection.CreateInstance(“ADODB.Connection“);??//創建連接對象實例?/*_uuidof(Connection)*/
//? if?(FAILED(hr))?????????????????????
//? {
//? AfxMessageBox(_T(“_ConnectionPtr對象指針實例化失敗!!!“));
//? }
//? if?(hr!=S_OK)
//? {
//? AfxMessageBox(_T(“_ConnectionPtr對象指針實例化失敗!!!“));
//? }
//? ???_bstr_t?strConnect=“DRIVER={Microsoft?Access?Driver?(*.mdb)};\
//? uid=;pwd=;DBQ=Database.mdb;“;//連接語句??ACCESS
????_bstr_t?strConnect=“DRIVER={SQL?Server};\
??? Server=127.0.0.1;DATAbase=ABC;UID=sa;PWD=Hc1234“;//連接語句?SQL?SERVER
???m_pConnection->Open(strConnect““““adModeUnknown);?//打開連接數據庫
}
catch(_com_error?e)//捕獲錯誤
{
AfxMessageBox(e.Description());?//彈出錯誤處理
}
}
_RecordsetPtr&??ADO::OpenRecordset(CString?sql)
{
ASSERT(!sql.IsEmpty()); //SQL語句不能為空
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));?//創建記錄集對象實例
m_pRecordset->Open(_bstr_t(sql)?m_pConnection.GetInterfacePtr()
adOpenDynamic?adLockOptimistic?adCmdText);? //執行SQL得到記錄集
}
catch(_com_error?e) //捕獲可能的異常
{
AfxMessageBox(e.Description());
}
return?m_pRecordset;
}
void?ADO::CloseRecordset()
{
if(m_pRecordset->GetState()?==?adStateOpen) //判斷當前的記錄集狀態
m_pRecordset->Close(); //關閉記錄集
}
void?ADO::CloseConn()
{
m_pConnection->Close(); //關閉數據庫連接
::CoUninitialize(); //釋放COM環境
}
UINT?ADO::GetRecordCount(_RecordsetPtr?pRecordset)
{
int?nCount?=?0; //聲明保存記錄數的變量
try{
pRecordset->MoveFirst(); //將記錄集指針移動到第一條記錄
}
catch(...) //捕捉可能出現的錯誤
{
return?0; //產生錯誤時返回0
}
if(pRecordset->adoEOF) //判斷記錄集中是否沒有記錄
return?0; //無記錄時返回0
while?(!pRecordset->adoEOF) //當記錄集指針沒有指向最后時
{
pRecordset->MoveNext(); //將記錄集指針移動到下一條記錄
nCount?=?nCount?+?1; //記錄個數的變量加1
}
pRecordset->MoveFirst(); //將記錄集指針移動到第一條記錄
return?nCount; //返回記錄數
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????185344??2018-10-17?10:09??MyAdo\Debug\MyAdo.exe
?????文件????1073028??2018-10-17?10:09??MyAdo\Debug\MyAdo.ilk
?????文件????4942848??2018-10-17?10:09??MyAdo\Debug\MyAdo.pdb
?????文件???????2763??2018-10-17?09:37??MyAdo\MyAdo\ADO.cpp
?????文件????????835??2018-10-15?10:17??MyAdo\MyAdo\ADO.h
?????文件?????270336??2018-10-15?17:32??MyAdo\MyAdo\Databa
?????文件??????79352??2018-10-17?10:06??MyAdo\MyAdo\Debug\ADO.obj
?????文件???????6102??2018-10-17?10:09??MyAdo\MyAdo\Debug\BuildLog.htm
?????文件?????170863??2017-04-17?17:07??MyAdo\MyAdo\Debug\msado15.tlh
?????文件?????148907??2017-04-17?17:07??MyAdo\MyAdo\Debug\msado15.tli
?????文件?????????65??2018-10-17?10:09??MyAdo\MyAdo\Debug\mt.dep
?????文件???????1196??2018-10-17?10:06??MyAdo\MyAdo\Debug\MyAdo.exe.em
?????文件???????1260??2018-10-17?10:06??MyAdo\MyAdo\Debug\MyAdo.exe.em
?????文件???????1120??2018-10-17?10:09??MyAdo\MyAdo\Debug\MyAdo.exe.intermediate.manifest
?????文件??????25547??2018-10-17?10:06??MyAdo\MyAdo\Debug\MyAdo.obj
?????文件???43843584??2018-10-17?10:06??MyAdo\MyAdo\Debug\MyAdo.pch
?????文件??????69592??2018-10-17?10:06??MyAdo\MyAdo\Debug\MyAdo.res
?????文件??????63992??2018-10-17?10:09??MyAdo\MyAdo\Debug\MyAdoDlg.obj
?????文件?????590476??2018-10-17?10:06??MyAdo\MyAdo\Debug\stdafx.obj
?????文件????1911808??2018-10-17?10:09??MyAdo\MyAdo\Debug\vc90.idb
?????文件????3371008??2018-10-17?10:09??MyAdo\MyAdo\Debug\vc90.pdb
?????文件??????90631??2003-03-27?20:00??MyAdo\MyAdo\msado15.tlh
?????文件??????76620??2003-03-27?20:00??MyAdo\MyAdo\msado15.tli
?????文件?????104840??2018-10-15?11:49??MyAdo\MyAdo\MyAdo.aps
?????文件???????1805??2018-10-15?11:49??MyAdo\MyAdo\MyAdo.cpp
?????文件????????439??2018-10-12?17:30??MyAdo\MyAdo\MyAdo.h
?????文件???????5209??2018-10-15?11:49??MyAdo\MyAdo\MyAdo.rc
?????文件???????5578??2018-10-15?09:45??MyAdo\MyAdo\MyAdo.vcproj
?????文件???????1427??2018-11-20?16:30??MyAdo\MyAdo\MyAdo.vcproj.MQKZDKMJPSXNYL5.Administrator.user
?????文件???????4823??2018-10-17?10:11??MyAdo\MyAdo\MyAdoDlg.cpp
............此處省略19個文件信息
- 上一篇:C++編寫電壓電流表儀表盤
- 下一篇:MFC將exe完美嵌套到static內
評論
共有 條評論