这是头文件
#pragma once
#include "stdafx.h"
class SQLDB
{
public:
SQLDB(void);
~SQLDB(void);
public:
_ConnectionPtr m_con;
_RecordsetPtr m_record;
public:
void InitConnection();
_RecordsetPtr& GetRecordSet(_bstr_t sql);
BOOL ExecuteSql(_bstr_t sql);
void ExitConnection();
};
这是cpp文件
#include "StdAfx.h"
#include "SQLDB.h"
SQLDB::SQLDB(void)
{
}
SQLDB::~SQLDB(void)
{
}
void SQLDB::InitConnection()
{
try
{
//´创建connection连接对象
m_con.CreateInstance("ADODB.Connection");
//设置连接字符串
_bstr_t strConnect= "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=test1;Data Source=NETCOM-ZJY\\SQL2005";
//AfxMessageBox(strConnect,0,0);
//SERVER和UID,PWD的设定需要根据自己的情况
m_con->Open(strConnect,"sa","111111",adModeUnknown);
//AfxMessageBox(L"connection ok");
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& SQLDB::GetRecordSet(_bstr_t sql)
{
if(m_con == NULL)
{
InitConnection();
}
try
{
m_record.CreateInstance(__uuidof(Recordset));
m_record->Open(sql,m_con.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
e.Description();
}
return m_record;
}
BOOL SQLDB::ExecuteSql(_bstr_t sql)
{
_variant_t affect;
if(m_con == NULL)
{
SQLDB::InitConnection();
}
try
{
m_con->Execute(sql,NULL,adCmdText);
return TRUE;
}
catch(_com_error e)
{
return FALSE;
}
}
void SQLDB::ExitConnection()
{
if(m_record != NULL)
{
m_record->Close();
}
m_con->Close();
}
#pragma once
#include "stdafx.h"
class SQLDB
{
public:
SQLDB(void);
~SQLDB(void);
public:
_ConnectionPtr m_con;
_RecordsetPtr m_record;
public:
void InitConnection();
_RecordsetPtr& GetRecordSet(_bstr_t sql);
BOOL ExecuteSql(_bstr_t sql);
void ExitConnection();
};
这是cpp文件
#include "StdAfx.h"
#include "SQLDB.h"
SQLDB::SQLDB(void)
{
}
SQLDB::~SQLDB(void)
{
}
void SQLDB::InitConnection()
{
try
{
//´创建connection连接对象
m_con.CreateInstance("ADODB.Connection");
//设置连接字符串
_bstr_t strConnect= "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=test1;Data Source=NETCOM-ZJY\\SQL2005";
//AfxMessageBox(strConnect,0,0);
//SERVER和UID,PWD的设定需要根据自己的情况
m_con->Open(strConnect,"sa","111111",adModeUnknown);
//AfxMessageBox(L"connection ok");
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& SQLDB::GetRecordSet(_bstr_t sql)
{
if(m_con == NULL)
{
InitConnection();
}
try
{
m_record.CreateInstance(__uuidof(Recordset));
m_record->Open(sql,m_con.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
e.Description();
}
return m_record;
}
BOOL SQLDB::ExecuteSql(_bstr_t sql)
{
_variant_t affect;
if(m_con == NULL)
{
SQLDB::InitConnection();
}
try
{
m_con->Execute(sql,NULL,adCmdText);
return TRUE;
}
catch(_com_error e)
{
return FALSE;
}
}
void SQLDB::ExitConnection()
{
if(m_record != NULL)
{
m_record->Close();
}
m_con->Close();
}
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。