您的位置:首页 > 编程语言 > C语言/C++

VC++ MFC编程学习笔记(4)

2014-07-28 20:57 232 查看
ADO简介:是一个用于存取数据源的COM组件,提供了编程语言和统一数据访问方式OLE DB的一个中间层。ADO可以独立创建,因此只创建一个Connection对象,而同时有多个,独立的Recordset对象来使用它。

ADO的3个基本接口:即_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。分别对应着ADO的Connection、Command以及Recordset对象。如果要频繁访问数据库,并要返回非常多的记录集,那么应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。

ADO的封装类:为方便和统一对数据库的操作,对ADO进行封装,形成一个ADDConn类。

类定义:

class CADOConn

{

public:

_ConnectionPtrm_pConnection; //Connection对象:保存ADO连接对象

_RecordsetPtrm_pRecordset; //Recordset对象:保存记录集对象

public:

voidExitConnect(); //结束数据库连接

//获取记录集函数,在创建记录集对象,再取得表中的记录

_RecordsetPtr&GetRecordSet(_bstr_t bstrSQL);

BOOLExecuteSQL(_bstr_t bstrSQL); //执行SQL语句函数

voidOnInitADOConn(); //连接初始化函数

CADOConn(); //构造函数

virtual~CADOConn(); //析构函数

};

CString str;

atoi(str); //将字符转换为相应的数字

atoi((char*)(_bstr_t)s1);

//登录验证

UpdateData(true);

m_userId.GetWindowText(m_editusername);

if(m_editusername=="")

{

AfxMessageBox("请输入用户名!");

return;

}

CADOConnm_adoconn; //定义ADO封装类对象

m_adoconn.OnInitADOConn(); //初始化连接对象,连接数据库

if(m_adoconn.m_pConnection==NULL)

{

AfxMessageBox("数据库连接失败!");

return;

}

CString SQLStr;

SQLStr.Format("select* from USERTABLE where UserName='%s' and Password='%s' and UserType=2 ", m_editusername,m_edituserpassword);

_RecordsetPtrm_precordset; //执行SQL并将结果保存到记录集中

m_precordset=m_adoconn.GetRecordSet(_bstr_t(SQLStr));

if(m_precordset->adoEOF)

{

AfxMessageBox("用户名或密码错误!");

return;

}

m_adoconn.ExitConnect(); //结束数据库连接

CDialog::OnOK();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: