📄 adoconn.cpp
字号:
// ADOConn.cpp: implementation of the ADOConn class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "课程设计.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ADOConn::ADOConn()
{
}
ADOConn::~ADOConn()
{
}
void ADOConn::OnInitDBConnect()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
//异常处理
try
{
CString str = "Provider=SQLOLEDB.1;Password=010956;Persist Security Info=True;User ID=sa;Initial Catalog=library;Data Source=XIA;";
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect = str;//"Provider=SQLOLEDB.1;Password=010956;Persist Security Info=True;User ID=sa;Initial Catalog=library;Data Source=XIA;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}
}
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
//连接数据库,如果Connection对象为空,则重新建立连接
if (m_pConnection == NULL)
OnInitDBConnect();
//创建记录集对象
m_pRecordset.CreateInstance(_uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}
return m_pRecordset;
}
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
if (m_pConnection == NULL)
{
OnInitDBConnect();
}
m_pConnection->Execute(bstrSQL, NULL, adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return false;
}
}
void ADOConn::ExitConnect()
{
if (m_pRecordset != NULL)
{
m_pRecordset->Close();
}
m_pConnection->Close();
::CoUninitialize(); // 释放环境
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -