//////////////////////////////////////////////////////////////////////////////
//类名:DataAccess
//功能:ADO处理数据库的基础类库
//作者:鲁勇志
//组织:网勤科技
//日期:2007.4.4
/////////////////////////////////////////////////////////////////////////////
#ifndef DATAACCESS_H
#define DATAACCESS_H
#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","rsEOF")
#include
using namespace std;
class DataAccess
{
private:
//定义数据库资源对象
_ConnectionPtr m_pConn;
_RecordsetPtr m_pRecrod;
_bstr_t m_conString;
public:
DataAccess()
{
//初始化com环境
CoInitialize(NULL);
//初始化连接类
this->m_pConn.CreateInstance(__uuidof(Connection));
//初始化连接字符
this->m_conString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb";
//初始化记录集
this->m_pRecrod.CreateInstance(__uuidof(Recordset));
}
~DataAccess()
{
this->ReleaseData();
}
//打开数据库,成功返回TRUE,失败返回FALSE
BOOL OpenConn()
{
try
{
this->m_pConn->Open(m_conString,"","",adConnectUnspecified);
return TRUE;
}
catch(_com_error e)
{
throw e;
return FALSE;
}
}
//释放数据库资源
void ReleaseData()
{
if(this->m_pRecrod!=NULL)
{
delete this->m_pRecrod;
}
if(this->m_pConn!=NULL)
{
delete this->m_pConn;
}
}
//执行SQL查询语句,返回记录集,可执行存储过程,insert,update语句,有结果集返回结果集体,没结果集返回空,SQL语句错误抛出异常
_RecordsetPtr Execute(_bstr_t sql)
{
this->m_pRecrod->Open(sql,this->m_pConn.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
return m_pRecrod;
}
};
#endif
最后修改:2015 年 11 月 06 日
© 允许规范转载