版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库开发主要内容主要内容 l数据库应用系统及数据库系统数据库应用系统及数据库系统lODBC的根本概念和构造的根本概念和构造l使用使用ODBC数据库类编写数据库应用程序数据库类编写数据库应用程序数据库系统及数据库应用程序数据库系统及数据库应用程序l数据库系统数据库系统u数据库系统组成数据库系统组成数据库系统及数据库应用程序数据库系统及数据库应用程序u 标准接口ODBC简介 ODBC:Open Database Connectivity 提供了访问各种DBMS的统一的接口 ODBC体系构造1。应用程序2。驱动程序管理器ODBC32.DLL3。驱动程序4。数据源ODBC工作原理工作原理应用程序调用
2、一个应用程序调用一个ODBC函数,实际上函数,实际上调用了调用了ODBC驱动程序管理器的一个导驱动程序管理器的一个导出函数。出函数。ODBC驱动程序管理器调用一个驱动程序管理器调用一个ODBC驱动程序的导出函数通常由驱动程序的导出函数通常由DBMS厂厂商提供,即只有商提供,即只有ODBC驱动程序才理驱动程序才理解解DBMS内部工作机制。内部工作机制。ODBC的实现 配置ODBC 连接一个数据源 查询数据和数据源 准备并执行SQL恳求 检索数据 断开与数据源的连接 SQL ServerMicrosoft AccessMicrosoft FoxProMicrosoft ExceldBasePara
3、doxText fileVisual C+自带数据库的自带数据库的ODBC驱动程序:驱动程序:MFC相关ODBC处理类 CDatabase:数据库类 CRecordset:记录集类 CRecordView:可视记录集类 能以控件的形式显示数据库记录。该视图是直接连到一个CRecordSet对象的表视图。 CDBExceptionCDatabase类类l一个一个CDatabase对象代表了一个与数据对象代表了一个与数据源的连接源的连接l一个应用程序中,可以存在多个一个应用程序中,可以存在多个CDatabase对象,用来代表多个连接对象,用来代表多个连接操作步骤操作步骤第一步:创立第一步:创立CD
4、atabase对象对象第二步:调用第二步:调用Open函数函数 或或 OpenEx函数初始化该对象函数初始化该对象第三步:执行相关数据库操作第三步:执行相关数据库操作第四步:调用第四步:调用Close函数关闭连接函数关闭连接tryCDatabase db;ifdb.open“studentdb.ExecuteSQL“INSERT INTO table VALUEScol1, col2, 0;db.close;catchCDBException* pe AfxMessageBox pe-m_strError;pe-Delete;virtual bool OpenLPCTSTR lpszDSN,B
5、OOL bExclusive = false,BOOL bReadOnly = false,LPCTSTR lpszConnect = “ODBC,BOOL bUseCursorLib = trueTransaction事务处理事务处理l事务的定义事务的定义对数据库的一批操作,这批操作要么对数据库的一批操作,这批操作要么全部成功,要么全部失败。全部成功,要么全部失败。l相关成员函数相关成员函数 CanTransact BeginTrans:开场事务 CommitTrans:提交事务 RollBack:回滚事务 ExcuteSQL:执行sql语句Ifm_dbCust.CanTransact !=
6、 0m_dbCust.BeginTranstrym_dbCust.ExecuteSQLstrCmd1;m_dbCust.ExecuteSQLstrCmd2;m_dbCust.ExecuteSQLstrCmd2;catchCDBException em_dbCust.RollBack;AfxMessageBox“事务执行失败,回滚事务执行失败,回滚;m_dbCust.CommitTrans;AfxMessageBox“事务执行成功,提交事务执行成功,提交;CRecordset类类l记录集类型记录集类型动态记录集动态记录集dynasets快照快照snapshotl通常创立一个通常创立一个CReco
7、rdset的派生类来使用的派生类来使用CRecordset类类l相关操作相关操作构造一个记录集构造一个记录集翻开一个翻开一个记录集记录集使用使用RFXRFX读写数据读写数据记录字段交换记录字段交换过滤记录集,从数据源中选择有效的记录过滤记录集,从数据源中选择有效的记录排序作为排序作为SQL语句的结果而返回的记录语句的结果而返回的记录遍历一个结果集合遍历一个结果集合返回的数据返回的数据保存保存记录记录删除记录删除记录构造一个记录集构造一个记录集lCRecordset构造函数唯一的参数是一个指构造函数唯一的参数是一个指向向CDatabase对象的指针。且其缺省值为对象的指针。且其缺省值为NULL。
8、l假如为假如为NULL,那么,那么MFC会利用会利用ClassWizard创立记录集类时指定的信息自创立记录集类时指定的信息自动创立一个临时的动创立一个临时的CDatabase对象。对象。l但是假如应用程序打算使用多个记录集,但是假如应用程序打算使用多个记录集,那么创立一个那么创立一个CDatabase对象并在创立记录对象并在创立记录集时使用这个对象可以大大进步效率。集时使用这个对象可以大大进步效率。翻开一个记录集翻开一个记录集virtual BOOL OpenUINT nOpenType=AFX_DB_USE_DEFAULT_TYPE,BOOL lpszSQL = NULL,DWORD dw
9、Options = noneEnum OpenTypedynaset, snapshot, forwardOnly, dynamicSnapshot为默认值为默认值使用使用RFX读写数据读写数据记录字段交换记录字段交换DoFieldExchangePfx-SetFieldTypeCFieldExchange:outputColumn;RFX_TextPfx, _T“sUserID, m_sUserID;过滤记录过滤记录方法一:方法一:pRecordSet-OpenCRecordset:snapshot,“select * from table where col = value;方法二:方法二
10、:pRecordSet-m_strFilter = “col=value;pRecordSet-Open;排序记录排序记录方法一:方法一:pRecordSet-OpenCRecordset:snapshot,“select * from table order by col;方法二:方法二:pRecordSet-m_strSort = “col;pRecordSet-Open;在结果集合中挪动在结果集合中挪动CRecordset:MoveFirstCRecordset:MovePrevCRecordset:MoveNextCRecordset:MoveLastCRecordset:IsBOFC
11、Recordset:IsEOF保存记录保存记录添加一条新记录添加一条新记录1 1、调用、调用CRecordset:AddNew准备一条准备一条新的空白记录。新的空白记录。2 2、将数据赋给记录集的成员变量。、将数据赋给记录集的成员变量。3 3、调用、调用CRecordset:Update在数据源中在数据源中创立一条新记录。创立一条新记录。4 4、调用、调用CRecordset:Requery刷新记录刷新记录集,这在快照方式下是必须的集,这在快照方式下是必须的保存记录保存记录更新一新记录更新一新记录1 1、调用、调用CRecordset:Edit 2 2、将数据赋给记录集的成员变量。、将数据赋给记录集的成员变量。3 3、调用、调用CRecordset:Update更新数据源更新数据源中当前记录。中当前记录。删除记录删除记录调用调用CRecordset:Delete删除当前记录后,由于当前记录不再有效,删除当前记录后,由于当前记录不再有效,所以必须调用一个所以必须调用一个CRecordset挪动函数挪动函数移到另一条记录移到另一条记录CRecordset:MoveNext/ rs为CRecordset派生类的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽医学高等专科学校单招职业技能考试必刷测试卷带答案解析
- 2026年新疆昌吉回族自治州单招职业适应性测试题库及答案解析(名师系列)
- 2026年兰州科技职业学院单招职业倾向性测试必刷测试卷及答案解析(夺冠系列)
- 2026年山东华宇工学院单招职业技能测试必刷测试卷带答案解析
- 房屋拆建加固协议书
- 房屋按揭中介协议书
- 房屋改造合同或协议
- 房屋权利转让协议书
- 房屋清空协议书范本
- 房屋装修质保协议书
- 腹腔镜胃癌根治术护理教学查房
- DB23T 2334-2019 装配式混凝土渠道应用技术规范
- 《千里江山图》课件ppt
- 酒店公寓物业管理规约
- 通透(杨天真重磅新作)
- DB32-T 4281-2022 江苏省建筑工程施工现场专业人员配备标准
- 区块链技术及应用PPT完整全套教学课件
- 钢结构提升安全技术交底
- 《商法总论》课件:商法概论
- 14D504 接地装置安装
- 【2022】举报信(法官滥用职权,违规办案)
评论
0/150
提交评论