資源簡介
在OnInitDialog()中實現代碼,演示了如何VS2008的MFC程序通過ADO連接到SQL SERVER2008上,并且進行插入操作

代碼片段和文件信息
#include?“StdAfx.h“
#include?“ADOConn.h“
ADOConn::ADOConn(void)
{
}
ADOConn::~ADOConn(void)
{
}
//?初始化—連接數據庫
void?ADOConn::OnInitADOConn()
{
//?初始化OLE/COM庫環境
::CoInitialize(NULL);
try
{
//?創建Connection對象
m_pConnection.CreateInstance(“ADODB.Connection“);
//?設置連接字符串,必須是BSTR型或者_bstr_t類型
_bstr_t?strConnect?=?“Provider=SQLOLEDB;?Server=.;Database=Student;?uid=sa;?pwd=admin;“;
m_pConnection->Open(strConnect““““adModeUnknown);
}
//?捕捉異常
catch(_com_error?e)
{
//?顯示錯誤信息
AfxMessageBox(e.Description());
}
}
_RecordsetPtr&?ADOConn::GetRecordSet(_bstr_t?bstrSQL)
{
try
{
//連接數據庫,如果connection為空則重新連接
if(m_pConnection==NULL)
OnInitADOConn();
//創建記錄集對象
m_pRecordset.CreateInstance(__uuidof(Recordset));
//取得表中的記錄
m_pRecordset->Open(bstrSQLm_pConnection.GetInterfacePtr()
adOpenDynamicadLockOptimisticadCmdText);
}
catch(_com_error?e)
{
e.Description();
}
//返回記錄集
return?m_pRecordset;
}
//?執行SQL語句,Insert?Update?_variant_t
BOOL?ADOConn::ExecuteSQL(_bstr_t?bstrSQL)
{
//?_variant_t?RecordsAffected;
try
{
//?是否已經連接數據庫
if(m_pConnection?==?NULL)
OnInitADOConn();
//?Connection對象的Execute方法:(_bstr_t?CommandText
//?VARIANT?*?RecordsAffected?long?Options?)
//?其中CommandText是命令字串,通常是SQL命令。
//?參數RecordsAffected是操作完成后所影響的行數
//?參數Options表示CommandText的類型:adCmdText-文本命令;adCmdTable-表名
//?adCmdProc-存儲過程;adCmdUnknown-未知
m_pConnection->Execute(bstrSQLNULLadCmdText);
return?true;
}
catch(_com_error?e)
{
AfxMessageBox(e.Description());
return?false;
}
}
void?ADOConn::ExitConnect()
{
//?關閉記錄集和連接
if?(m_pRecordset?!=?NULL)
m_pRecordset->Close();
m_pConnection->Close();
//?釋放環境
::CoUninitialize();
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-09-08?11:32??ADOTEST\
?????目錄???????????0??2016-09-08?11:32??ADOTEST\ADOTEST\
?????文件????????1930??2014-06-04?23:36??ADOTEST\ADOTEST\ADOConn.cpp
?????文件?????????450??2014-06-04?10:44??ADOTEST\ADOTEST\ADOConn.h
?????文件???????42616??2014-06-04?10:37??ADOTEST\ADOTEST\ADOTEST.APS
?????文件????????1660??2014-06-04?10:37??ADOTEST\ADOTEST\ADOTEST.cpp
?????文件?????????447??2014-06-04?10:37??ADOTEST\ADOTEST\ADOTEST.h
?????文件????????4830??2014-06-04?10:37??ADOTEST\ADOTEST\ADOTEST.rc
?????文件????????5541??2014-06-04?11:14??ADOTEST\ADOTEST\ADOTEST.vcproj
?????文件????????1417??2014-06-04?23:40??ADOTEST\ADOTEST\ADOTEST.vcproj.seamanj-PC.seamanj.user
?????文件????????3123??2014-06-04?11:25??ADOTEST\ADOTEST\ADOTESTDlg.cpp
?????文件?????????563??2014-06-04?10:37??ADOTEST\ADOTEST\ADOTESTDlg.h
?????文件????????2891??2014-06-04?10:37??ADOTEST\ADOTEST\ReadMe.txt
?????目錄???????????0??2014-06-04?10:37??ADOTEST\ADOTEST\res\
?????文件???????21630??2003-07-24?09:52??ADOTEST\ADOTEST\res\ADOTEST.ico
?????文件?????????363??2014-06-04?10:37??ADOTEST\ADOTEST\res\ADOTEST.rc2
?????文件?????????520??2014-06-04?10:37??ADOTEST\ADOTEST\Resource.h
?????文件?????????138??2014-06-04?10:37??ADOTEST\ADOTEST\stdafx.cpp
?????文件????????1894??2014-06-04?10:50??ADOTEST\ADOTEST\stdafx.h
?????文件????????1030??2014-06-04?10:37??ADOTEST\ADOTEST\targetver.h
?????文件?????????887??2014-06-04?12:01??ADOTEST\ADOTEST.sln
?????文件???????17408??2014-06-04?23:40??ADOTEST\ADOTEST.suo
?????目錄???????????0??2016-09-08?11:32??ADOTEST\Debug\
?????文件???????75264??2014-06-04?11:31??ADOTEST\Debug\ADOTEST.exe
- 上一篇:c++課程設計 職工工資管理系統
- 下一篇:實現socket簡易的聊天程序
評論
共有 條評論