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

📄 adoconnect.cpp

📁 一个图书馆信息查询系统。是根据学校图书馆的实际情况调查后开发
💻 CPP
字号:
// AdoConnect.cpp: implementation of the AdoConnect class.

#include "AdoConnect.h"
#include <stdarg.h>
#include <tchar.h>

void UniteBSTR(_bstr_t & bstr, _variant_t first, ...)
{
	bstr =	"";
	_bstr_t	param = (_bstr_t)first;
	TCHAR *	p;
	int		length;

	va_list	list;
	va_start(list, first);
	do
	{
		bstr += param;
		p = (TCHAR *)param;
		length = lstrlen(p);
		if(*(p+length-1) == ';')
			break;
		param = (_bstr_t)va_arg(list, _variant_t);
	}while(TRUE);
	va_end(list);
}

AdoConnect::AdoConnect()
{
	m_pConnection	= NULL; 
	m_pRecordset	= NULL;
}

AdoConnect::~AdoConnect()
{
}

void AdoConnect::OnInitDBConnect()
{
	::CoInitialize(NULL);
	_bstr_t bstrDataBase = "Provider=SQLOLEDB;\
		Server=JIMSOFT;Database=xlibrary;uid=sa;pwd=022114113;";
 	m_pConnection.CreateInstance("ADODB.Connection");
 	m_pConnection->Open(bstrDataBase, "", "", adModeUnknown);
}

void AdoConnect::ExitConnect()
{
	if(m_pRecordset != NULL)
	{
		m_pRecordset->Close();
		m_pRecordset = NULL;
	}
 	if(m_pConnection != NULL)
	{
		m_pConnection->Close();
		m_pConnection = NULL;
	}
	::CoUninitialize();
}

_RecordsetPtr & AdoConnect::GetRecordset(_bstr_t bstrSQL)
{ 
	if(m_pConnection == NULL)
		OnInitDBConnect();
	m_pRecordset.CreateInstance(__uuidof(Recordset));
	m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(),
		adOpenDynamic, adLockOptimistic, adCmdText);
 	return m_pRecordset;
}

// 按条件执行操作
BOOL AdoConnect::ExecuteSQL(_bstr_t bstrSQL)
{ 
	if(m_pConnection == NULL)
		OnInitDBConnect();
	m_pConnection->Execute(bstrSQL, NULL, adCmdText);
	return TRUE;
}

⌨️ 快捷键说明

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