VC数据库编程.ppt_第1页
VC数据库编程.ppt_第2页
VC数据库编程.ppt_第3页
VC数据库编程.ppt_第4页
VC数据库编程.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 1 15 1 主要内容 一 数据库开发的前端工具二 VC 开发数据库应用程序的优势三 VC 中提供的数据库访问技术四 基于ADO组件的数据库编程 2020 1 15 2 一 数据库开发的前端工具 1 VisualFoxPro2 VisualBasic3 VisualC 4 VisualJ 5 Delphi6 PowerBuilder7 ASP等等 2020 1 15 3 二 VC 开发数据库应用程序的优势 1 简化的开发过程2 灵活多变的开发方式3 更快捷的数据库访问4 更强的扩展性 2020 1 15 4 二 VC 开发数据库应用程序的优势 1 简化的开发过程由于VisualC 6 0中提供了MFC类 模板类亦即AppWizard ClassWizard等一系列的Wizard 向导 用于产生应用程序 这些特点大大简化了应用程序的设计 使用这些技术 甚至可以使开发者无须进行编程就可以开发出一个完整的数据库应用程序 而且VisualC 6 0的集成开发环境中还提供了各种支持数据库开发的工具 使用这些工具可以帮助开发者有效地管理开发过程 2020 1 15 5 二 VC 开发数据库应用程序的优势 2 灵活多变的开发方式VisualC 6 0中提供了强大的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能 而无需受开发环境的限制 这主要是因为VisualC 中提供了丰富的类和方法 从而使开发者可以根据应用的特点来选择 例如 某个应用可以采用单文档 多文档或者基于对话框的形式 而不像在Access中开发的应用那样必须采用多文档的界面 2020 1 15 6 二 VC 开发数据库应用程序的优势 3 更快捷的数据库访问为了解决ODBC开发的数据库应用中访问数据库的速度慢的问题 VisualC 6 0中引入了新的访问技术 OLEDB和ADO OLEDB和ADO都是基于COM接口的技术 使用这些技术可以避免使用ODBC访问数据库的瓶颈 而直接对数据库的驱动程序进行访问 这大大提高了访问速度 2020 1 15 7 二 VC 开发数据库应用程序的优势 4 更强的扩展性VisualC 6 0中提供了OLE技术和ActiveX技术 这些技术可以增强开发应用程序的能力 使用OLE技术和ActiveX技术可以使开发者利用VisualC 中提供的各种组件 控件以及第三方提供的组件来扩展自己的应用程序 从而使应用程序组件化 使用这些技术可以使应用程序具有良好的可扩展性 2020 1 15 8 三 VC 中提供的数据库访问技术 1 ODBCAPI2 MFCODBC3 DAO4 OLEDB5 ADO 2020 1 15 9 三 VC 中提供的数据库访问技术 1 ODBCAPIODBC OpenDatabaseConnectivity 是被广泛应用的用于数据库访问技术的应用程序编程接口 ODBC是为最大的互用性而设计的 即一个应用程序用相同的源代码能够访问不同的数据库管理系统 DBMS 2020 1 15 10 三 VC 中提供的数据库访问技术 2 MFCODBCMFCODBC MicrosoftFoundationClassesODBC ODBC虽然提供了一种统一访问数据库的接口 但是直接使用ODBCAPI创建应用程序需要编制大量的代码 所以 VisualC 中提供了MFCODBC类 在MFCODBC类中封装了ODBCAPI 提供了面向对象的数据库类 这使创建数据库应用程序的过程大大简化 2020 1 15 11 三 VC 中提供的数据库访问技术 3 DAODAO DataAccessObject DAO 数据库访问对象 提供了一种通过程序代码创建和操作数据库的机制 多个DAO对象构成一个体系结构 在这个结构中 各个DAO对象协同工作 通过MicrosoftJet数据库访问数据库中的数据和数据库的结构定义 MFCDAO是微软推出的用于在VisualC 中访问MicrosoftJet数据库文件 mdb 的强有力的数据库开发工具 它通过对DAO对象的封装 向程序员提供了丰富的数据库访问和数据库操纵手段 2020 1 15 12 三 VC 中提供的数据库访问技术 4 OLEDBOLEDB 0bjectLinkandEmbeddingDatabase OLEDB提供企业网络级的通用数据集成 从主机到桌面 而不管数据的种类 OLEDB比ODBC对数据的操纵更加普遍也更加有效 因为它允许更多种类的数据 并且它是基于COM模型的 OLEDB技术是VisualC 开发数据库应用程序所提供的新技术 与传统的数据库访问技术相比 OLEDB有两种重要的改进 OLEDB技术基于COM接口和OLEDB为所有的文件系统包括关系数据库和非关系数据库提供了一种统一的接口 这些特性使OLEDB技术比传统的数据库访问技术更加优越 2020 1 15 13 三 VC 中提供的数据库访问技术 5 ADOADO ActiveXDataObject ADO是面向对象的OLEDB 它继承了OLEDB技术的优点 并且 ADO对OLEDB接口作了封装 定义了ADO对象 使应用程序的开发得到简化 ADO技术属于数据库访问的高层接口 2020 1 15 14 四 基于ADO组件的数据库编程 1 常用的ADO的对象2 使用Access2000创建数据库3 创建ADO数据库访问程序4 运行含有ADO控件的程序 2020 1 15 15 四 基于ADO组件的数据库编程 ADO是一种高层数据访问接口 具有面向对象的特点 使用ADO访问数据库 主要是使用ADO的各种对象进行访问 它易使用 速度快 内存支出少 其最大好处是在因特网上访问数据库的高效性 因为ADO在关键的因特网中使用了最少的网络流量 并且在客户端和数据库服务端使用了最少的层数 可以说 ADO为桌面或因特网上的数据库访问提供了一种轻量级的高性能接口 2020 1 15 16 1 1连接对象 Connection 连接对象是用来与数据库建立连接 执行查询以及进行事务处理 在连接之前必须指定使用哪一个OLEDB供应者 1 常用的ADO的对象 2020 1 15 17 1 2命令对象 命令对象 Command 可以执行数据库操作命令 例如查询 修改 插入和删除等 用命令对象执行一个查询子串 可以返回一个记录集合 1 常用的ADO的对象 2020 1 15 18 1 3记录集对象 Recordset 记录集对象用来查询返回的结果集 它可以在结果集中添加 删除 修改和移动记录 当创建了一个记录集对象时 一个游标也就自动创建了 查询所产生的记录将放在本地的游标中 游标类型有四种 仅能向前移动的游标 静态游标 键集游标和动态游标 记录集 Recordset 对象是对数据库进行查询和修改的主要对象 1 常用的ADO的对象 2020 1 15 19 1 4字段对象 Field 字段是用于表示记录集中的列信息 包括列值等信息 一个记录集包含了数据库表中的若干行记录 如果将记录集看作二维网格 字段则将排列构成 列 每一字段 列 分别包括有名称 数据类型和值的属性 在字段中包含了来自数据源的真实数据 要修改数据源中的数据 可在记录集中修改Field对象的值 对记录集的更改最终被传送给数据源 1 常用的ADO的对象 2020 1 15 20 1 5参数对象 Parameter 参数对象是和命令对象联用的 当命令对象执行的查询是一个带参数的查询时 例如想要查询考试成绩大于nGrade的学生 其中nGrade就是一个查询参数 它是一个整型变量 它的值可以动态改变 就靠参数对象来为命令对象提供参数信息和数据 1 常用的ADO的对象 2020 1 15 21 2 使用Access2000创建数据库 Access2000是MicrosoftOffice套件的一个组件 是一个桌面型 小型的数据库管理系统 使用Access2000管理数据库 并不需要管理者具有专业的程序设计能力 仅通过简单而又直观的可视化操作就可以完成大部分的管理任务 设计出功能强大的数据库系统 2020 1 15 22 2 1Access2000数据库结构 Access2000是一个面向对象的 采用事件驱动机制的关系型数据库 在Access2000的数据库中 任何事物都可以称之为对象 Access2000数据库中包含七个对象 表 查询 窗体 报表 数据访问页 宏和模块 这些对象用于收集 存储和操作各种不同的信息 每种对象都不能独立保存 而只能作为Access数据库的一部分 利用ADO访问Access数据库 主要是访问数据库中的表对象 表是存放数据的真正场所 2020 1 15 23 2 2创建一个空数据库 启动Access2000软件后 利用向导完成建立数据库文件的操作 我们选择 空Access数据库选项 单击 确定 按钮后选择数据库存放位置和名称的对话框 在文件名编辑框中输入 student 后 单击 创建 就在指定的目录中创建了一个Access2000数据库文件student mdb 并且出现数据库向导界面 2020 1 15 24 2 3创建数据库表 数据库创建以后 紧接着在其中创建存放数据的表 在student mdb数据库窗口中 单击数据库对象中的 表 按钮 打开 表 对象列表窗口 选择 使用设计器创建表 选项 然后单击数据库窗口的 设计 按钮 即可打开表设计窗口 或者双击 使用设计器创建表 这个选项 然后打开用来创建表的对话框 在其中输入学生的一些属性 如 学号 姓名 地址 出生日期 四级成绩 VC成绩 当关闭表设计窗口时 系统提示用户给所建的表起一个名字保存 我们所起的名称为stud info 如图14 1所示 2020 1 15 25 图14 1stud info表 2020 1 15 26 3 创建ADO数据库访问程序 3 1创建工程框架3 2在工程中插入ADO控件3 3导入ADOData控件和DataGrid控件3 4设置ADOData控件属性3 5设置ADODataGrid控件的属性 2020 1 15 27 3 创建ADO数据库访问程序 采用ADO控件来访问数据库 极大地简化了数据库应用程序的开发 用户只需写相对较少的代码 甚至不写一行代码 就可以实现对数据库的访问 但是该方法的效率比较低 用户对程序的控制比较弱 不能完全发挥ADO访问数据库的优良特性 2020 1 15 28 例14 1 创建一个利用ADO控件访问数据库的MFC应用程序 3 1创建工程框架用AppWizard向导创建一个基于对话框的应用程序 该工程的名称为MyADO 3 2在工程中插入ADO控件ADO控件包括两个 一个是ADOData控件 用于操纵数据 另一个是ADODataGrid控件 用于显示数据 两者的关系类似于文档 视图结构中的文档与视图 由于ADO控件是ActiveX控件 而不是VC的控件 它们都不像编辑框 列表框控件那样在Control工具栏中 如果要使用ActiveX控件 在使用之前必须将它们添加到工程中 2020 1 15 29 3 3在工程中导入ADOData控件和DataGrid控件 1 打开对话框资源 IDD MYADO DIALOG 删除默认的静态文本控件 在对话框窗口上单击鼠标右键 在弹出式菜单中选择 InsertActiveXControl 在弹出对话框中选择 MicrosoftADODataControl Version6 0 选项 单击 OK 按钮 则在对话框窗体上插入了ADOData控件 如图14 2所示 2 用同样的方法 在选择 MicrosoftDataGridControl Version6 0 选项 单击 OK 按钮 则完成了插入DataGrid控件的操作 如图14 3所示 2020 1 15 30 图14 2插入ADOData控件对话框 返回 2020 1 15 31 图14 3插入ADO控件后的对话框 2020 1 15 32 3 4设置ADOData控件属性ADO控件的属性设置和VC中的其它控件 如编辑框控件 的方法一样 先用鼠标选中该控件 然后按Alt Enter键 就会弹出属性对话框 在属性对话框中对相应属性进行设置 1 打开ADOData控件属性对话框 选择 control 选项卡 在该对话框中 先选择 UseConnectionString 然后单击 Build 按钮 弹出对话框 如图14 4所示 2 在对话框中 选择 MicrosoftJet40OLEDBProvider 列表项 然后单击 下一步 按钮 弹出选择数据库的对话框 如图14 5所示 2020 1 15 33 图14 4ADOData属性对话框 返回 2020 1 15 34 图14 5数据库连接属性对话框 返回 2020 1 15 35 3 在对话框中 单击 选择或输入数据库名称 编辑框右边的 按钮 把前面所建立的学生数据库student mdb选上 如图14 6 单击 测试连接 按钮 如连接成功则会给出提示信息 最后单击 确定 按钮关闭对话框 至此 数据连接已经建立好了 下面步骤是选择数据源中的数据 即进行数据集的选择 返回 3 4设置ADOData控件属性 2020 1 15 36 图14 6数据连接 2020 1 15 37 4 再次打开ADOData控件的属性对话框 选择 RecordSource 选项卡 出现如图14 6所示的对话框 在 CommandType 列表框中选择 2 adCmdTable 列表项 在 TableOrStoredProcedureName 组合框中把学生成绩数据库student mdb的表 stud info 选择上 关闭对话框完成ADO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论