版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C/SVB数据库应用系统开发,数据库应用系统结构 Visual Basic快速入门 开放数据库连接(ODBC) 数据访问接口(ADO) VB数据库编程举例 VB开发数据库应用系统实例分析,开放数据库连接(ODBC),ODBC概念 ODBC的构成 建立ODBC数据源,ODBC概念,ODBC(开放数据库接连,Open DataBase Connectivity)是Microsoft公司开发的一套开放的数据库系统应用程序接口标准。 ODBC使得客户端应用不再紧密地依赖于数据库管理系统,用户有广泛的挑选余地来选择自己喜欢和熟悉的开发工具。 ODBC使数据库应用程序具有很好的适应性和可移植性,并且具备同
2、时访问多种数据库管理系统的能力。,ODBC的构成,应用程序 驱动程序管理器 驱动程序 数据源,VB应用程序,驱动程序管理器,数据源1,数据源2,数据源3,数据源4,驱动程序管理器的工作,驱动程序管理器是Windows下的应用程序,其主要作用是: 安装指定的驱动程序; 定义数据源,并把数据源映射到具体的ODBC驱动程序上 ; 为每个驱动程序提供ODBC函数的入口点; 检查ODBC参数的合法性等。,ODBC驱动程序的具体任务,ODBC应用程序不能直接存取数据库,它将所要执行的操作提交给数据库驱动程序,通过驱动程序实现对数据库的各种操作,数据库操作结果也通过驱动程序返回给应用程序。ODBC驱动程序的
3、具体任务有: 建立与数据源的连接; 向数据源提交SQL请求; 处理查询结果; 将数据源错误转换为标准错误代码,返回给应用程序; 提交事务的开始请求、完成请求和撤消请求等。,什么是数据源,数据源是指任何一种可以通过ODBC连接的数据库管理系统,包括要访问的数据库和数据库的运行平台(包括数据库管理系统和运行数据库管理系统的服务器)。它可以是PC平台上的FoxPro数据库、Windows 平台上的SQL Server数据库或OS/2平台的Oracle数据库等。 数据源名掩盖了数据库服务器之间的差别,通过定义多个数据源,让每个数据源名对应一个数据库管理系统中的指定数据库,这样就可以实现在应用程序中通过
4、数据源名而不是具体的数据库名访问指数据库的目的。,建立ODBC数据源,可以通过Windows的控制面板可以建立ODBC数据源。 建立步骤为:,ODBC数据源共有三种类型,第一种是用户数据源(用户DSN),第二种是系统数据源(系统DSN),第三种是文件数据源(文件DSN)。 用户DSN只能用于当前定义此数据源的机器上,而且只有定义数据源的用户才可以使用;系统DSN可用于当前机器上的所有用户;文件DSN是将用户定义的数据源信息保存到一个文件中,并可被所有安装了相同驱动程序的不同机器上的用户共享。,新建数据源,数据访问接口(ADO),访问数据库的几种方式 一致的数据访问策略 ADO对象模型 ADO数
5、据控件与数据绑定控件,访问数据库的几种方式,使用数据访问接口(对象模型) ActiveX数据对象(ADO,ActiveX Data Objects ) 远程数据对象(RDO,Remote Data Objects ) 数据访问对象(DAO,Data Access Objects) 使用控件数据库表记录 此方法局限性强,处理数据量小。 直接调用ODBC API(应用程序编程接口) (Application Programming Interface)编程复杂。,ADO对象模型,ADO是面向对象的API,它只需开发者掌握几个简单对象的方法和属性。 ADO对象模型中包含了三核心对象:Connecti
6、on、Command和Recordset。 开发人员可以创建这三个对象并使用这些对象访问数据库。 在ADO对象模型中还有几个其他对象:Field、Property、Error和Parameter,它们是前面三个对象的子对象。这些对象的描述如下:,Connection对象:包含了与数据源连接的信息。 Command对象:定义一个SQL语句、存储过程等与命令相关的信息。 Recordset对象:包含了从数据源得到的记录集。 Field对象:包含了记录集中的某个记录的字段信息。字段信息包括字段的数据类型、精度和数据范围等。 Property对象:ADO对象的属性集。 Parameter对象:保存与C
7、ommand对象相关的参数。 Error对象:包含了由数据源产生的Errors集合中的扩展的错误信息。由于一个单独的语句会产生一个或多个错误,因此Errors集合可以同时包括一个和多个Error对象。,ADO数据控件与数据绑定控件,ADO数据控件是使用ADO数据对象来快速建立应用程序和数据源之间的连接,并快速创建数据访问结果记录集的工具。 由于ADO数据控件不具有显示数据的功能,因此要将数据操作结果在用户界面上显示出来,就要靠数据绑定控件来实现。 ADO数据控件 数据绑定控件,ADO数据控件,在VB的工具箱中添加ADO数据控件 ADODC对象的主要属性、方法和事件 RecordSet对象的主要
8、属性和方法 RecordSet对象的主要属性 Fields对象属性 RecordSet对象的主要方法,在VB的工具箱中添加ADO数据控件,ADO数据控件(ADODC),ADODC在窗体中的样式,ADODC对象的主要属性、方法和事件,ADODC对象的主要属性 ADODC对象的主要方法 ADODC对象的主要事件,ADODC对象的主要属性,ConnectionString属性 (用于连接数据源) Command属性 RecordSource属性 CommandType属性 Recordset属性,ConnectionString属性设置步骤,使用ODBC数据资源名称 以建立ODBC数据源时使用 使用
9、连接字符串 未建立ODBC数据源时使用,使用ODBC数据资源名称,使用连接字符串,RecordSource属性,此属性用于设置ADO结果集的内容,这个内容可以来自于一张表,也可以来自一个查询语句,也可以来自一个存储过程的执行结果。 RecordSource属性的值与CommandType属性的值有关,两者协同使用。,CommandType属性,此属性指明命令的类型,即要访问的数据的来源。一般这个属性和RecordSource(记录源)属性配合使用。 CommandType属性的取值有如下四个: adCmdUnknown:默认值。表示RecordSource中的命令类型未知。 adCmdTabl
10、e:RecordSource属性的内容是一个表名,表示其结果集是对此表执行的无条件查询的结果。 adCmdText:RecordSource属性的内容是一个查询语句文本串,表示其结果集是执行此查询语句文本串产生的结果。 adCmdStoredProc:RecordSource属性的内容是一个存储过程名,表示其结果集是执行此存储过程产生的结果。 设置CommandType属性的方法参见设置RecordSource部分。,CommandType属性设置步骤,Recordset属性,Recordset属性是ADO数据控件中实现数据记录操作的最重要的属性 这个属性本身又是一个对象,也有自己的属性和方法
11、,它直接指向ADO对象模型中的Recordset对象。 稍后介绍该对象,ADODC对象的主要方法,ADODC控件最常用的是Refresh方法。 Refresh方法用于更新ADODC控件属性,使修改后的ADO数据控件属性生效。 当修改了ADODC控件的ConnectionString属性的值时,使用Refresh方法会重新连接一次数据库;当修改了ADODC控件的RecordSource属性的值时,使用Refresh方法会重新执行RecordSource属性的内容,重新产生结果集。 使用Refresh方法的格式为: ADODC控件名.Refresh,ADODC对象的主要事件,EndOfRecord
12、set事件:当在结果集中移动记录指针时,当记录指针超出了结果集的最后一条记录时,触发此事件。 Error事件:只有在没有执行任何VB代码而发生了一个数据访问错误时,才会触发此事件。 WillChangeField事件和FieldChangeComplete事件:当对结果集中的一个或多个字段值进行修改前,触发WillChangeField事件;当对结果集中的一个或多个字段值修改之后,触发FieldChangeComplete事件。 WillChangeRecord事件和RecordChangeComplete事件:当对结果集中的一个或多个记录进行修改前,触发WillChangeRecord事件;
13、当对结果集中的一个或多个记录修改之后,触发RecordChangeComplete事件。 WillMove事件和MoveComplete事件:在结果集的当前行记录指针移动之前,触发WillMove事件;在结果集的当前行记录指针移动完成后,触发MoveComplete事件。,RecordSet对象的主要属性和方法,Recordset属性也称为记录集或结果集,用于存放从数据提供者那里获得的查询结果,这个结果一般存放在客户端内存中,可以理解为是客户端的游标。 每个结果集有一个当前行指针,指向正在操作的记录。 在VB数据库应用程序中,一般不直接对数据库中的数据进行操作,而是通过记录集进行的。因此,记录
14、集是VB应用程序和数据库之间相互连接的桥梁。 对数据库中数据的操作主要是通过RecordSet对象完成的。,RecordSet对象的主要属性,BOF:布尔值,如果结果集中记录的当前行指针移到了第一条记录的前边,则此值为真,否则为假。 EOF:布尔值,如果结果集中记录的当前行指针移到了最后一条记录的后边,则此值为真,否则为假。 RecordCount:存放结果集中的记录个数。 Sort:将结果集中的记录按某个字段排序。 AbsolutePosition:记录当前行记录在结果集中的顺序号,结果集记录序号从1开始。 ActiveCommand:结果集中创建的命令。 ActiveConnection:
15、结果集中创建的连接。 Bookmark:结果集中当前行记录的标识号。 Fields:结果集中的字段集合。由于一行记录可以包含多个字段,因此Fields属性是一个数组形式,数组中的每个元素代表一个字段。,Fields对象属性,Fields属性本身也是一个对象,它直接指向ADO对象模型中的Fields对象。Fields对象用下述属性来描述结果集字段的信息: Fields.Name:字段名称。 Fields.Value:字段的值。 Fields.OrdinalPosition:字段在Fields集合中的顺序。 Fields.Type:字段的数据类型。 Fields.Size:字段的最大字节数。 Fi
16、elds.SourceTable:字段来自的表 Fields.SourceField:字段来自的表中的列,RecordSet对象的主要方法,RecordSet对象的方法是实现结果集操作的关键。 Move方法组 AddNew方法 Update方法 Delete方法 CancelUpdate方法 Find方法,Move方法组,Move方法组就是实现在结果集中通过移动记录行指针而浏览数据的方法。 Move方法组中又包括四个相应的移动指针的方法。 MoveFirst方法:将当前行记录指针移到结果集中的第一行。 MovePrevious方法:将当前行记录指针向前移动一行。 MoveNext方法:将当前行
17、记录指针向后移动一行。 MoveLast方法:将当前行记录指针移到结果集中的最后一行。,AddNew方法,AddNew方法用于在结果集中添加一个新记录。 注意,当使用AddNew方法时,实际上只是在内存中开辟了一个新记录的缓冲区,缓冲区中的初始值均为控,新输入的记录被保存在这个缓冲区中。要使缓冲区中新输入的记录永久地保存到数据库中,还必须使用Update方法,或者对当前行记录指针作一个移动操作。,Update方法,Update方法将新记录缓冲区中的记录或者对当前记录的修改真正写到数据库中,使新添加的记录或修改后的结果被永久保存在数据库中。,Delete方法,Delete方法删除结果集中当前行记
18、录指针所指的记录,并且这个删除是直接对数据库数据操作的,删除后的数据不可恢复。 因此,在使用此方法删除数据前,最好提示用户是否真的要删除数据,以避免由于误操作而造成数据丢失。,CancelUpdate方法,CancelUpdate方法用于取消新添加的记录或对当前记录所做的修改。 注意,此方法应在调用Update方法之前调用,调用了Update方法之后的修改是不能撤销的。 另外需要注意的是,如果没有添加新记录,也没有对当前记录进行任何修改,则调用CancelUpdate方法将产出错误。,Find方法,Find方法用于在当前结果集中查找满足条件的记录。如果结果集较大,则可以使用此方法在结果集快速定
19、位找到满足要求的记录。Find方法的格式为: ADODC控件名.Recordset. Find(“查找条件表达式”) “查找条件表达式”中可以包含比较运算符、逻辑运算符和Like查找符。例如:查找年龄在20到25之间的学生: Find(“Sage = 20 AND Sage = 25”),数据绑定控件,数据绑定控件概念 数据绑定控件分类 数据绑定控件的主要属性 DataGrid控件,数据绑定控件概念,数据绑定实际上就是将结果集中的数据同应用程序界面中的控件联系起来,通过这些界面上的控件将结果集中的数据显示给用户。能够实现将结果集中的数据显示出来的功能的控件就称为数据绑定控件。 数据绑定控件不但可以实现将结果集中的数据显示出来,而且用户还可以通过这些控件实现对数据库数据的增、删、改操作。,数据绑定控件分类,标准控件 常用的有:TextBox、CheckBox、ListBox、ComboBox
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非洲概述课件教学课件
- 青竹湖湘一外国语学校九年级上学期语文第一次月考试卷
- 创意妆课件教学课件
- 三年级数学计算题专项练习汇编及答案
- 考编面试协议书(2篇)
- 《数学物理方法》第7章测试题
- 南京航空航天大学《弹性力学基础》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《现代企业管理》2023-2024学年第一学期期末试卷
- 南京工业大学浦江学院《设计史》2021-2022学年第一学期期末试卷
- 交通配套设施(标线、标志、交通信号灯)工程施工组织设计
- (正式版)HGT 3655-2024 紫外光(UV)固化木器涂料
- 大学生就业指导-求职材料准备与面试技巧课件
- 化学品管理的安全防护与个体防护
- 大学生职业生涯规划无人机林业
- 企业风险管理中的政府政策变动管理风险及其应对措施
- 标准齿轮主要参数及其计算课件
- 大学生职业生涯规划书软件技术
- 2022中小学高级教师任职资格评审讲课答辩题目及答案
- 针刺伤标准预防
- 团播主持人协议
- 《急救药品》课件
评论
0/150
提交评论