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();
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();
相关文章推荐
- VC++ MFC编程学习笔记(3)
- VC++ MFC编程学习笔记(1)
- VC++ MFC编程学习笔记(2)
- 孙鑫VC学习笔记:第八讲 逃跑按钮的巧妙实现和MFC中指针的获取
- 孙鑫VC++视频学习笔记之7: 对话框编程(2)
- 孙鑫VC学习笔记:第八讲 逃跑按钮的巧妙实现和MFC中指针的获取
- VC MFC学习笔记——学习方法
- MFC学习笔记之七————工具栏编程与状态栏编程
- MFC学习笔记004之VC预编译出错的解决方案(fatal error C1853: Debug/Backup.pch)
- mfc学习笔记二:vc中activex控件理解
- 孙鑫VC学习笔记:第十五讲 编写一个基于MFC对话框的聊天程序
- 孙鑫VC++视频学习笔记之3: MFC消息映射机制和绘图DC
- 孙鑫VC++视频学习笔记之5: VC菜单相关编程
- VC|MFC学习笔记(一)
- VC++网络安全编程范例(1)--数字证书有效期验证--学习笔记
- 孙鑫VC学习笔记:第十五讲 (四) 编写一个基于MFC对话框的聊天程序
- 孙鑫VC++视频学习笔记之5: VC菜单相关编程
- VC学习笔记之‘HTTP编程’(一)
- VC|MFC学习笔记
- 孙鑫VC学习笔记:第十五讲 编写一个基于MFC对话框的聊天程序