adoconn.cpp
来自「基于access数据库的图书馆管理系统」· C++ 代码 · 共 99 行
CPP
99 行
// 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 + =
减小字号Ctrl + -
显示快捷键?