1 事先初始化COM库
::CoInitialize(NULL);
2:定义_ConnectionPtr 对象指针,通过m_pConnection.CreateInstance("ADODB.Connection");创建实例并通过Open()方法连接数据库
3 通过ConnectionPtr 对象的Execute方法执行sql语句(也可通过_CommandPtr对象)
4:定义_ResulsetPtr 执行查询sql语句,并返回结果集
类的声明
class ADOConn
{
// 定义变量
public:
//添加一个指向Connection对象的指针:
_ConnectionPtr m_pConnection;
//添加一个指向Recordset对象的指针:
_RecordsetPtr m_pRecordset;
public:
ADOConn();
virtual ~ADOConn();
void Connection();//连接数据库
BOOL IsConnection();//判断是否连接了数据库
_RecordsetPtr ExecuteSQL(_bstr_t strSQL);//执行sql语句
void ExitConnection();//断开与数据的连接
int state;//数据库状态,1 连接 0 未连接
};
类的实现:
// 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()
{
state=0;//初始化数据库状态,1 连接 0 未连接
}
ADOConn::~ADOConn()
{
}
void ADOConn::Connection()
{
::CoInitialize(NULL);
//AfxOleInit();
// try{ m_pConnection.CreateInstance("ADODB.Connection");
// // m_pConnection.CreateInstance(__uuidof(Connection));
// //_bstr_t strSQL="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=企业人事管理系统数据库\\RSGLXT.mdb";
// //m_pConnection->Open(strSQL,"","",adModeUnknown);//Home.mdb放在工程目录下// 连接ACCESS数据库
// _bstr_t strSQL="Driver={SQL Server};Server=ZLQ-PC\\SQLEXPRESS泉水叮咚;Database=用VC++做的企业人事管理系统";//连接SQL2005数据库,注意Server=ZLQ-PC\\SQLEXPRESS泉水叮咚中是两个\\,即使你的数据库服务器只有一个\,也要再加上1个,否者会连接不成功
// m_pConnection->Open(strSQL,"sa","123",adModeUnknown);
// AfxMessageBox("连接成功");
//