版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库应用结构数据库系统的应用结构分类:单用户数据库应用结构: 运行于PC机称桌面DBMS主要产品不完备方面:MicrosoftAccess、Paradox、Fox系列和DBase系列数据的一致性维护、完整性检查及安全性管理方面有许多欠缺集中式结构文件服务器结构客户/服务器式结构互联网应用结构多用户数据库应用结构集中式结构主机/终端结构是大型主机系统使用的结构,这种结构是将操作系统、应用程序、DBMS、数据库等数据和资源均放在主机上,以一台主机为核心,连接多个终端,终端只是作为主机的一种I/O设备,所有的应用处理均由主机承担多用户数据库应用系统分类:集中式数据库应用结构文件服务器结构数据库网络文件服务器客户端文件请求文件工作站1应用程序MicrosoftAccess、FoxPro是流行的支持文件服务器结构的数据库管理系统客户/服务器:通过对服务功能的分布实现分工服务,其中:
多用户数据库应用系统分类:客户/服务器式数据库应用结构数据库服务器客户端请求结果工作站1应用程序客户机负责管理用户界面,接收用户数据,处理应用逻辑,生成数据库服务请求。然后将这些请求发送给服务器,接收服务器返回的结果,最后再将这些结果按一定的格式返回给用户;服务器接收客户机的请求,处理这些请求,返回处理结果(包括执行状态:成功、失败以及数据库访问的结果数据)给客户机,同时,服务器还要进行数据库完整性检查,维护数据库附加的数据,支持并发控制等主流的产品:Microsoft公司的SQLServer、SYBASE公司的Sybase、ORACLE公司的Oracle、INFORMIX公司的Informix和IBM公司的DB2数据库服务器客户端请求页面浏览器数据库请求结果互联网应用结构应用程序Web服务器数据库有MicrosoftSQLServer、Orcale、Sybase、DB2和Informix都可作为服务器端的DBMS,一些桌面数据库管理系统如Access等也可作为这种结构的DBMS。Web服务器有Microsoft的IIS(InternetInformationServer)、PWS(PersonalWebServer)Visualc++中的数据访问ODBC开放数据库连接DAO(DataAccessObjects)数据访问对象OLEDB技术ActiveXDataObject(ADO)
1DAO(DataAccessObjects)数据访问对象
DAO使用MicrosoftJet提供的数据库访问对象集直接访问DBMS,速度比ODBC要快。VisualC++6.0不支持Acess97以后的mdb数据库,所以Access2000生成的数据库需要转换为Acess97格式微软公司20世纪90年代初开发的一套开放数据库系统应用程序接口规范,提供了统一的数据库应用编程接口(API函数)ODBC的工作依赖于数据库制造商提供的驱动程序使用ODBCAPI时,Windows的ODBC管理程序把数据库访问请求传递给正确的驱动程序,驱动程序使用SQL语句指示DBMS完成数据库访问工作使用ODBC时,必须把数据库注册到ODBC驱动程序管理器,可通过定义一个DSN(数据源名称)来完成2.开放数据库互连(ODBC-OpenDataBaseConnectivity)ODBC的体系结构示意图(4部分)ODBC管理器在Windows2000或WindowsXP下,通过【控制面板】---【管理工具】---【数据源ODBC】打开ODBC管理器使用ODBC管理器设置ODBC数据源:可以定义3种数据源:用户DSN:只有当前用户可见,而且只能用于当前计算机上系统DSN:对当前计算机上的所有用户都是可见的文件DSN:介于用户DSN和系统DSN之间设置Acess数据源举例3.OLEDBOLEDB是一种高性能的、基于COM(组件对象模型)的数据库技术
Microsoft公司20世纪90年代中期提出的。OLEDB不仅为关系数据库设计的,而且也是为其它类型的数据库设计的。OLEDB组件由数据提供者、数据消费者和服务组件组成;数据提供者提供数据,数据消费者使用数据,服务组件处理和传送数据。OLEDB提高了数据库的访问速度4.ADO技术介绍ADO简介ADO技术特点ADO对象模型开发ADO应用程序的方法ADO简介ADO是Microsoft的数据库应用程序开发的新接口,是建立在OLEDB之上的高级数据库访问技术。避免了开发人员直接使用OLEDB底层接口的麻烦。ADO技术基于COM(ComponentObjectModel),可以用来构造可复用应用框架,被多种语言支持,能够访问关系数据库、非关系数据库以及所有的文件系统。另外,ADO还支持各种客户/服务器模式与基于Web的数据操作。应用程序ADOOLEDB关系数据库文本目录数据主机数据非结构化数据电子邮件地理信息图形信息ADO技术特点易于使用高速访问数据源可以访问不同的数据源可以用于MicrosoftActiveX页程序占用的内存少ADO对象模型连接对象Connection命令对象Command记录集对象Recordset域对象Field参数对象Parameter属性对象Property错误对象Error错误集合Errors参数集合Parameters域集合Fields属性集合PropertiesADO对象模型提供了7种对象、4种集合。分别为:连接对象Connection
常用属性:ConnectionString:包含用于建立链接的信息。ConnectionTimeOut:设置连接的最长时间,缺省值为15秒Mode:访问权限设置Provider:设置连接提供者的名称主要函数:Open:打开到数据源的连接Execute:执行查询、其它SQL语句、存储过程等Close:关闭连接命令对象Command常用属性:1)ActiveConnection:指明属于哪一个Connection对象。2)CommandText:设置命令内容,如SQL语句等3)CommandTimeout:确定执行命令最长的等待时间4)CommandType:指明命令类型,可以是表格名adCmdTable、SQL语句等.主要函数:Execute:执行在CommandText中指定的查询、SQL语句或存储过程等记录集对象Recordset主要函数:Open:打开一个记录集Close:关闭记录集MoveFirst:移动到记录集的第一条MoveLast:移动到记录集的最后一条MoveNext
:移动到记录集中当前记录的后一条MovePrevious
:移动到记录集中当前记录的前一条Move:移动到记录集中指定位置AddNew
:添加一个空记录Delete:删除当前记录Update:将对记录集的改动保存到数据源中常用属性:(1)ActiveConnection:指明属于哪一个Connection对。(2)EOF:EOF=TRUE指当前位置位于记录集中最后一条记录之后(3)BOF:BOF=TRUE指当前位置位于记录集中第一条记录之前(4)AbsolutePosition:某条记录在记录集中的绝对位置(5)RecordCount:记录集中包含的记录总数(6)CursorType:指明记录集的游标类型。有动态型、静态型、仅向前型和键型,对应的参数分别为adOpenDynamic、adOpenStatic、adOpenForwardOnly和adOpenKeyset.动态型游标允许用户看到其它用户对记录的增加、修改和删除;静态型游标是记录集的拷贝,用户看不到其他用户对记录集的改变操作;仅向前型游标等同于静态型游标,不过只能在记录集中向前移动;键型游标同动态型游标相似,只不过它防止用户看到其它用户添加的记录,也不允许对其他用户删除的记录进行访问。域对象Field:代表字段(列)常用属性:Name:返回字段名Value:设置字段中的数据Type:返回字段的数据类型域集合Fields
Fields包含Recordset对象·的所有Field对象。每个Field对象对应记录集中的一列。常用函数:Append:添加新的Field对象到集合中Delete:从集合中删除Field对象Refresh:更新集合中的Field对象Item:返回集合中的Field对象常用属性:Count:集合中Field对象总数开发ADO应用程序的方法使用ADOData控件
简单,用户只需写相对较少的代码,甚至不写一行代码,可以实现对数据库的访问。其缺点是效率比较低,用户对程序的控制比较弱,不能充分发挥ADO的强大功能;
直接使用ADO对象
这种方法可以非常灵活地控制程序的细节,而且效率、性能很高,可以充分发挥ADO的特性。
11.4.1数据库访问控件一.ADOData控件可以用ADOData控件快速创建一个到数据库的连接;ADOData控件使用Recordset对象提供对存储在数据库中数据的访问,并允许从一个记录移动到另一个记录ADOData控件可以执行大部分数据库访问操作,但不能显示数据库中数据的内容,需要与数据觉察控件结合使用创建一个基于对话框的工程,工程名为ADOData将ADOData控件添加到工程:Project/addtoproject/componentsandcontrols,打开componentsandcontrolsGallery对话框:例1:ADOData控件的使用双击”registeredActiveXControls”,可以看到已注册的ActiveX控件:双击ADOData控件后:单击确定按钮后弹出confirmclasses窗口:单击OK后,系统自动在工程中添加个类关闭窗口后,在工具栏中新増ADOData控件按钮:ADOData控件的常用属性(1)ConnectionString
用于建立链接。可以为该属性赋予一个包含建立联接信息的文件,称为数据链接文件(后缀为UDL),也可以直接赋予链接字符串,或使用ODBC链接。(2)ConnectionTimeOut属性设置连接的最长时间(3)RecordSource
设置一个数据记录源,可以是表、视图或SELECT语句等(4)UserName和Password属性用于对有密码保护的数据库的访问。如果使用链接字符串,可以在链接字符串中指明这两个属性的值。BOF和EOF
MaxRecords
返回Recordset对象中记录的数量
将ADOData控件添加到对话框中,右键单击ADOData控件,打开控件属性窗口,如图:单击“通用”选项卡,设置连接属性,如图:选择“使用连接字符串”,单击“生成”按钮后:确定单击“记录源”选项卡:DataGrid控件添加到工程:MicrosoftDataGridControl,Version6.0(OLEDB)二、数据觉察控件将DataGrid控件添加到对话框:打开控件属性窗口,如图:DataSource选择IDC_ADODC1;设置Caption;运行工程:该系统的主要功能包括:在DataGrid表格中显示学生的主要信息;可以添加、修改、删除学生数据11.4.2使用ADO对象开发数据库应用程序初始化OLE/COM库环境引入ADO库文件用connection对象连接数据库利用建立好的连接,通过connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集记录集的遍历、更新断开连接,结束ADO中的智能指针_ConnectionPtr:通过该指针操作Connection对象_CommandPtr:通过该指针操作Command对象_RecordsetPtr:通过该指针操作Recordset对象使用ADO对象时没有相关的MFC类,在使用Connection对象、Command对象、Recordset对象这3个对象的时候,需要定义与之对应的3个智能指针,分别为#import"c:\programfiles\commonfiles\system\ado\msado15.dll"
no_namespacerename("EOF","adoEOF")
在“stdafx.h”中引入ADO库初始化OLE/COM库环境在能够使用ADO对象之前,必须为应用程序初始化COM环境。代码如下:::CoInitialize(NULL);当完成所有的ADO活动时,还必须通过调用函数CoUnitialize关闭COM环境,代码如下:::CoUnitialize();这个函数可清除COM环境,并准备关闭应用程序。还可用:AfxOleInit(),该函数可以自动实现初始化COM环境和结束时关闭COM的操作创建ADO与数据源的连接
当初始化COM环境后,就可以创建与数据库的连接。首先定义一个_ConnectionPtr类型指针,然后调用CreateInstance方法实例化:
_ConnectionPtrm_pConnection;m_pConnection.CreateInstance(__uuidof(Connection));或者采用另一种CreateInstance的重载函数:m_pConnection.CreateInstance(“ADODB.Connection”);之后,调用Connection对象的Open方法创建数据库的连接其定义如下:HRESULTConnection15::Open(_bstr_tConnectionString,_bstr_tUserID,_bstr_tPassword,longOptions)参数:ConnectionString:可选,字符串,包含了连接信息UserID:可选,字符串,用户名Password:可选,字符串,密码Options:可选,ConnectOptionEnum值,其值如下所示:adModeUnknown:默认,表示当前的许可权未设置adModeRead:只读adModeWrite:只写adModeReadWrite:可以读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砂砾材料购销合同
- 新版房屋买卖合同协议样本
- 记账服务合同的履行监管要点
- 出口代理商合同模板
- 电磁流量计招标业务条件和要求
- 企业数字化转型的关键因素与实施策略考核试卷
- 团队协作和冲突解决技巧培训课件考核试卷
- 创业公司的财务管理从零开始的财务管理考核试卷
- 文创产业与数字出版创新考核试卷
- 国企租凭合同范例
- 食材配送投标服务方案
- 土地评估现场勘查表
- 经济学原理ppt课件(完整版)
- 高中 高二 化学选择性必修1 第二章 第一节 第2课时 影响化学反应速率的因素 教学课件
- 《枪炮、病菌与钢铁》-基于地理视角的历史解释(沐风学堂)
- 三年级心理健康 16快乐假期 课件(7张ppt)
- 数理统计练习题
- 跛行诊断(理论)课件
- 消防维保技术投标书范本
- 工程管理概论第三版讲(工程管理概述)通用PPT课件
- Hyflux产品介绍BERKristal
评论
0/150
提交评论