⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adoconn.cpp

📁 Access 在 VC++中的应用
💻 CPP
字号:
// ADOConn.cpp: implementation of the ADOConn class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Ex_ADO.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::OnInitADOConn()      //初始化连接数据库
{
	::CoInitialize(NULL);     //初始化OLE/COM库环境
	try
	{
		m_pConnection.CreateInstance("ADODB.Connection");   //创建connection对象
		_bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=E:\\Ex_ADO\\HrMan.mdb;Persist Security Info=False";
		m_pConnection->Open(strConnect,"","",adModeUnknown);   //adConnectUnspecified
	}
	catch(_com_error e)
	{	AfxMessageBox(e.Description());   }//显示错误信息
}
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
	try
	{
		if(m_pConnection==NULL)  OnInitADOConn();
		m_pRecordset.CreateInstance(__uuidof(Recordset));  //创建记录集对象
		m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic, 
adLockOptimistic,adCmdText);     //取得表中记录
	}
	catch(_com_error e)
	{	AfxMessageBox(e.Description());   }//显示错误信息
	return m_pRecordset;
}
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
	try
	{
		if(m_pConnection==NULL)  OnInitADOConn();
		m_pConnection->Execute(bstrSQL,NULL,adCmdText);
		return true;
	}
	catch(_com_error e)
	{	AfxMessageBox(e.Description());   }//显示错误信息
}
void ADOConn::ExitConnect()
{
	if(m_pRecordset != NULL)
		m_pRecordset->Close();
	m_pConnection->Close();
	::CoUninitialize();    //释放环境
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -