ado.cpp

来自「该系统要求建立某小区物业管理系统」· C++ 代码 · 共 77 行

CPP
77
字号
/*********************************************************************/
#include "stdafx.h"
#include "ADO.h"

/*********************************************************************/
#if !defined CATCH_ERROR
#define CATCH_ERROR														\
		{																\
			CString strComError;										\
			strComError.Format("错误编号: %08lx\n错误信息: %s			\
								\n错误源: %s\n错误描述: %s",			\
								e.Error(),								\
								e.ErrorMessage(),						\
								(LPCSTR) e.Source(),					\
								(LPCSTR) e.Description());				\
			::MessageBox(NULL,strComError,"错误",MB_ICONEXCLAMATION);	\
		}
#endif
/*********************************************************************/

CADO::CADO()
{
	::CoInitialize(NULL);				// 初始化OLE/COM库环境 
	try
	{
		m_pConn.CreateInstance("ADODB.Connection");	//创建Connection对象
		m_pConn->ConnectionTimeout=5;	//设置超时时间为3秒
		m_pConn->Open("DSN=eee","","",0);	
	}
	catch(_com_error e)					//捕捉异常
	{
		CATCH_ERROR;
	}
}

CADO::~CADO()
{
	if (m_pRS != NULL)				// 关闭记录集和连接
		m_pRS->Close();
	m_pConn->Close();
	
	::CoUninitialize();				// 释放环境
}


_RecordsetPtr&  CADO::GetRS(CString strSQL)
{
	try
	{
		m_pRS.CreateInstance(__uuidof(Recordset));
		m_pRS->Open((_bstr_t)strSQL,m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);	// 取得表中的记录
	}
	catch(_com_error e)
	{
		CATCH_ERROR	
	}
	return m_pRS;
}

 
BOOL CADO::Execute(CString strSQL)
{
	try
	{
		m_pConn->Execute((_bstr_t)strSQL,NULL,adCmdText);
		return true;
	}
	catch(_com_error e)
	{
		CATCH_ERROR		
		return false;
	}
}



⌨️ 快捷键说明

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