- 1、本文档共187页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
超市管理系统MFCodbc(可编辑)讲述
SuperMarket _ DBMS
数据源:OFFICE ACCESS
VC++_MFC_ODBC
作者 cyst
Contents
数据库系统及其访问技术 :采用MFC的ODBC数据库访问技术,从Access数据库里读取销售信息、商品情况、雇员信息及运货商的信息。这是一个小型的数据库应用,使用Access数据库就足够了。在这里借助MFC对ODBC封装类CRecordset,从该类派生应用程序里使用的CCommonRs类。以CCommonRs类为基础,实现对ODBC数据源的数据访问。
MFC ODBC :由于数据库应用程序是管理数据的重要方面,Microsoft开发了ODBC API的封装程序,为ODBC编程提供了一个面向对象的方法。
MFC对ODBC的封装主要是开发了CDatabase类和CRecordSet类。使用时候需包含头文件D:\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxdb.h
第一部分
ODBC
关于 MFC ODBC
第一部分
开发的两个类
CRecordSet类
用CRecordSet类实现对结果集的数据操作。CRecordSet类定义了从数据库接收或者发送数据到数据库的成员变量。成员变量m_hstmt代表了定义该记录集的SQL语句句柄,m_nFields成员变量保存了记录集中字段个数,m_nParams成员变量保存了记录集所使用的参数个数。
CRecordSet的记录集通过CDatabase实例的指针实现同数据源的连接,即CRecordSet的成员变量m_pDatabase。
关于 MFC ODBC
CDatabase类
CDatabase类用于应用程序建立同数据源的连接。CDatabase类为C++数据库开发人员提供了ODBC的面向对象的编程接口。
CDatabase类包含一个m_hdbc变量,它代表了数据源的连接句柄。
CDatabase类提供了对数据库进行操作的函数。
CDatabase类提供的函数可以用于返回数据源的特定信息。
第一部分
开发的两个类
关于 MFC ODBC
1 记录查询
myRS.Open(AFX_DATABASE_USE_DEFAULT,strSQL);
(1) 声明参变量,代码如下:
CString strName;
int nAge;
(2) 在构造函数中初始化参变量如下
strName =_T();
nAge =0;
m_nParams=2;
(3) 将参变量与对应列绑定,代码如下:
pFX-SetFieldType(CFieldExchange::param)
RFX_Text(pFX,_T(Name), strName);
RFX_Single(pFX,_T(Age), nAge);
完成以上步骤之后就可以利用参变量进行条件查询了,代码如下:
m_ pmyRS - strName =刘鹏;
m_ pmyRS -nAge=26;
m_ pmyRS -Requery();
如果查询的结果是多条记录,可以利用CRecordSet类的成员函数Move(),MoveNext(),MovePrev(),MoveFirst()和MoveLast()来移动记录光标。
第一部分
开发的两个类
关于 MFC ODBC
2 记录添加
m_ pmyRS -AddNew(); // 在表的末尾添加新记录
m_ pmyRS -SetFieldNull((m_pSet-m_type), FALSE);
m_ pmyRS -m_strName=刘鹏; // 输入新的字段值
m_ pmyRS -m_nAge=26; // 输入新的字段值
m_ pmyRS - Update(); // 将新记录存入数据库
m_ pmyRS -Requery(); // 重新建立记录集
3 记录删除
m_ pmyRS -Delete();
if (!m_ pmyRS -IsEOF())
m_ pmyRS -MoveNext();
else
m_ pmyRS -MoveLast();
4 记录修改
调用Edit()成员函数可以实现记录修改,在修改完成后需要调用Update()将修改结果存入数据库,代码如下:
m_ pmyRS -Edit(); // 修改当前记录
m_ pmyRS -m_strName=刘波; // 修改当前记录字段值
m_ pmyRS -Update(); // 将修改结果存入数据库
m_ pmyRS -Requery();
第一部分
开发的两个类
关于 MFC ODBC
5 撤销数据库更新操作
如果用户增加或者修改记录后希望放弃当前操作,
文档评论(0)