第10章 ADO数据库编程 本章要点:  ADO的概念及其对象组成  ADO各对象的作用  利用ADO连接到各种数据库的方法

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

2014 年 10 月. 学生入学考试 15 位编号 号工号 ****** 北科 MBA 网址: 如: 初试密码为身份证 后六位,登录成功 后可进行修改。
主讲:史治平 地址:四川电大计算机教研室 电话:
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
第13章 数据库的基本应用 Visual Basic 程序设计教程.
第13章 数 据 库 本章要点: 数据库的基本概念 可视化数据管理器 使用ADO数据控件访问数据库.
第六章 数据库编程.
第十章 与数据库的连接 一、在VB中可以访问哪些类型的数据库
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
Oracle数据库 Oracle 子程序.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
第 11 章 資料庫應用與 ADO物件 製作.
Visual Basic快速入门 ADO数据控件与数据绑定控件 VB数据库编程举例 VB开发数据库应用系统实例分析
資料庫程式設計 VB資料庫設計簡介 週次:4 建國科技大學 資管系 饒瑞佶.
Visual C# 2010 程式設計經典 第15章 ADO .NET與資料工具.
Hadoop I/O By ShiChaojie.
ADO.NET.
資料庫程式設計 VB資料庫設計簡介 週次:2 建國科技大學 資管系 饒瑞佶.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
VB如何存取資料庫 ? 資料庫 資料儲存 資料庫引擎 資料庫引擎 Jet 讀取、寫入與修改 資料控制項 資料庫存取物件(ADO) 使用者介面.
第14章 ADO数据库编程 ADO数据库编程是目前最为流行的一种数据库编程方案。因为,使用ADO,可以很容易的与各种类型的数据库连接,而且其数据存取功能也是包罗万象,吸取了各种数据库访问对象的精华部分。本章将介绍ADO数据库编程方面的内容。
第13章 数据控件编程 Visual Basic为用户提供了多种访问数据库的方法。概括这些方法后,可以分为两大类。分别是:通过控件访问数据库和通过数据库访问技术(接口)访问数据库。这一章,将介绍使用控件访问数据库的方法。
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
ASP动态网页设计实用教程 主讲教师: 开课单位:.
走进编程 程序的顺序结构(二).
辅导课程六.
第六单元 ADO.net数据库操作 劳动和社会保障部全国计算机信息高新技术考试指定教材——ASP.NET.
使用ADO.NET访问数据 数据库连接 C#程序设计课程组.
网络常用常用命令 课件制作人:谢希仁.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C语言程序设计 主讲教师:陆幼利.
第12章 利用ADO实现网页与数据库的连接 通过本章学习,应该掌握以下内容: ADO各种对象和集合 利用ADO存取组件进行数据库连接.
SQL 范引娣.
VisComposer 2019/4/17.
第8章 ADO组件的使用 本章主要内容: TADOConnection组件的使用 TADOCommand组件的使用
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
Web安全基础教程
数据库系统与应用实验 基于SQL Server 2005.
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
Visual Basic程序设计 第13章 访问数据库
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
Delphi 7.0开发示例.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
HOOK和数据库访问 主讲人:孙鑫
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第10章 ADO数据库编程 本章要点:  ADO的概念及其对象组成  ADO各对象的作用  利用ADO连接到各种数据库的方法

10.1 ADO对象模型概述 10.1.1 ADO的概念 ADO(ActiveX Data Object)是DAO/RDO的后继产物,是微软最新的数据访问组件(微软数据访问组件简称MDAC)的一部分,MDAC的常用版本有MDAC 2.5和MDAC 2.7,ADO的最新的版本ADO.NET也包含在MDAC 2.7中。 ADO是基于OLE DB之上的面向对象的数据访问模型,OLE DB是Microsoft开发的一种高性能的、基于COM的数据访问技术,其作用是向应用程序提供一个统一的数据访问方法,而不需要考虑数据源的具体格式和存储方式。

10.1.2 ADO模型的对象

1.基本对象 (1)Connection对象 (2)Recordset对象 (3)Command对象 (4)Field对象 (5)Property对象 (6)Parameter属性 (7)Error对象 2.集合对象 (1)Errors集合对象 (2)Parameters对象 (3)Fields对象 (4)Properties对象 3.事件 (1)ConnectionEvents类事件 (2)RecordsetEvents类事件

10.1.3 ADO模型的编程模型 ADO提供的对象可以完成以下活动: (1)连接到数据源,主要使用Connection对象。可选择开始一个事务。 (2)执行SQL命令,使用Command对象。 (3)可选择在SQL命令中指定列、表和值作为变量参数,主要使用Parameter对象。 (4)执行命令,主要使用Command、Connection或Recordset对象。 (5)如果命令是以按行返回的记录集,则将行存储在缓存中,主要使用Recordset对象。 (6)可选择创建缓存视图,以便能对数据进行排序、筛选和定位,主要使用Recordset对象。

(7)对记录集中的数据进行添加、删除或更改操作,主要使用Recordset对象。 (9)在使用事务之后,可以接受或拒绝在事务期间所作的更改,结束事务,主要使用Connection对象及事务处理方法。

10.2 Connection对象 使用Connection对象的集合、方法和属性可执行下列操作: (1)在打开连接前使用ConnectionString、ConnectionTimeout和Mode属性对连接进行配置。 (2)设置CursorLocation属性以便调用支持批更新的“客户端游标提供者”。 (3)使用DefaultDatabase属性设置连接的默认数据库。(4)使用IsolationLevel属性为在连接上打开的事务设置隔离级别。 (5)使用Provider属性指定OLE DB提供者。 (6)使用Open方法建立到数据源的物理连接。使用Close方法将其切断。 (7)使用Execute方法执行对连接的命令,并使用CommandTimeout属性对执行进行配置。

(8)可使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。 (9)使用Errors集合检查数据源返回的错误 (10)通过Version属性读取所使用的ADO执行版本。 (11)使用OpenSchema方法获取数据库纲要信息。

10.2.1 Connection对象的常用属性 1.Attributes属性 2.CommandTimeout属性 3.ConnectionString属性 4.ConnectionTimeout属性 5.CursorLocation属性 6.DefaultDatabase属性 7.IsolationLevel属性 8.Mode属性 9.Provider属性 10.State属性 11.Version属性

10.2.2 Connection对象的常用方法 1.BeginTrans方法格式如下: level = Connection.BeginTrans() 或 Connection.BeginTrans 2.CommitTrans方法格式如下: Connection.CommitTrans 3.RollbackTrans方法格式如下: Connection.RollbackTrans 4.Open方法语法格式如下: connection.Open ConnectionString, UserID, Password, OpenOptions

5.Close方法使用格式如下: Connection.Close 6.Execute方法 格式1:connection.Execute CommandText, RecordsAffected, Options 格式2: Set recordset = connection.Execute (CommandText, RecordsAffected, Options) 7.Cancel方法 8.OpenSchema方法

10.2.3 连接到数据库的方法 1.通过DSN建立连接 【例10-1】在第7章建立了两个DSN,分别是jiaoxue和SQLPubs,请编写一个连接到这两个DSN的程序。程序的设计界面如图10-4所示。然后执行时,单击“建立到SQLPubs的连接”将建立与SQLPubs DSN的连接,单“建立到jiaoxue DSN的连接”将建立与jiaoxue DSN的连接。 题意分析:为建立连接,可先给Connection对象的ConnectionString属性赋值为需要建立连接的参数,然后执行Connection对象不带参数的Open方法,也可在调用Connection的Open方法时指定连接字符串。此题需注意连接到SQL DSN和连接到Microsoft Access DSN的区别。

2.直接使用数据库文件名称或数据源名称建立连接 (1)使用SQL Server普通安全模式建立到Pubs数据库的连接 (2)SQL Server信任安全模式建立到Pubs数据库的连接 【例10-2】直接建立到SQL Server 2000的数据库“Pubs”的连接和到当前目录下的Microsoft Access数据库“教学”的连接。程序的设计界面如图10-5所示。运行时单击“建立到SQL Pubs数据库的连接”将以两种方法建立到SQL Server数据库Pubs的连接,单击“建立到Access教学数据库的连接”将以两种方式建立到Access数据库“教学”的连接。

10.2.4 通过打开的连接执行SQL语句 【例10-3】通过Connection的Execute方法来执行SQL语句,为当前目录下的“教学”数据库中的“学生表”添加一条记录,记录的“学号”和“姓名”值分别为“0001020”和“周小华”。 题意分析:先采用直接使用数据库名的方法连接到Access数据库“教学”,然后通过调用Connection的Execute方法来执行SQL-Insert语句。

(b)执行后 (a)执行前

10.3 RecordSet对象 10.3.1 Recordset对象简介 在ADO中定义了四种不同的游标类型: (1)动态游标 (2)键集游标 (3)静态游标 (4)仅向前游标 10.3.2 Recordset对象的属性 1.AbsolutePage、PageCount与PageSize属性 2.AbsolutePosition和RecordCount属性 3.ActiveConnection属性 4.CacheSize属性

5.CursorLocation属性 6.CursorType属性 7.EditMode属性 8.Filter属性 9.LockType属性 10.MaxRecords属性 12.Sort属性 13.Source属性 14.State属性

10.3.3 Recordset对象的方法 1.Cancel方法 该方法的使用格式如下: Object.Cancel 2.CancelUpdate方法 该方法的使用格式如下: Recordset.CancelUpdate 3.CancelBatch方法 该方法的使用格式如下: Recordset.CancelBatch AffectRecords 4.NextRecordSet方法该命令的格式如下: SetRecordset2= Recordset1.NextRecordset( RecordsAffected )

5.Open方法 Open方法的使用格式如下: Recordset.OpenSource,ActiveConnection,CursorType, LockType, Options 6.Resync方法 该方法的使用格式如下: Recordset.Resync AffectRecords, ResyncValues 7.Save方法 该方法的使用格式如下: Recordset.Save FileName, PersistFormat 8.UpdateBatch方法 该方法的使用格式如下: Recordset.UpdateBatch AffectRecords 9.GetRows方法 调用格式如下: Array=Recordset.GetRows() 10.Supports方法 该方法的使用格式如下: boolean = Recordset.Supports( CursorOptions )

10.3.4 访问Recordset对象字段的方法

10.3.5 Recordset对象应用实例 【例10-4】使用ADO的Recordset对象把当前目录下的“教学”数据库中的“学生表”中的数据显示出来。程序设计界面如图10-7(a)所示。程序刚运行时,只有“连接”按钮可用,单击该按钮,将建立到当前目录下的“教学”数据库的连接,然后“连接”按钮不可用,“显示”按钮可用。单击“显示”按钮,将把“学生表”中的数据显示在MsFlexGrid控件中,同时“显示”按钮不可用,“关闭”按钮可用,如图10-7(b)所示。单击“关闭”按钮,将关闭记录集和连接并结束程序。

题意分析:本题要用MsFlexGrid控件显示表的内容,而MsFlexGrid控件并不是VB的标准控件,应该首先把它加载到VB的工程中,加载的方法是执行【工程】→【部件】命令,在出现的部件对话框中选中“Microsoft FlexGrid Control 6.0”后按“确定”按钮。要在MSFlexGrid控件中显示数据表中的内容,可通过循环把表中的各字段的内容依次赋值到MsFlexGrid的MatrixText属性中。

10.4 Command对象 10.4.1 Command对象简介 Command对象定义了将对数据源执行的指定命令。通过Command对象可以执行SQL语句、数据库中的存储过程等,虽然Connection对象的Execute方法也能够执行SQL语句,但Command对象还提供了参数化查询等专门的运行方式。 利用Command对象可以查询数据库中的记录以形成记录集,还可以更改数据库的结构。但由于数据提供者提供的功能不同,在引用某些Command集合、方法或属性时可能会产生错误,需要使用者查询相应的参考书籍。

10.4.3 Command对象的常用方法1.Cancel方法 1.ActiveConnection属性 2.CommandText属性 3.CommandTimeout属性 4.CommandType属性 5.Prepared属性 6.State属性 10.4.3 Command对象的常用方法1.Cancel方法 2.Execute方法

10.4.4 Command对象应用实例 【例10-5】已知“教学管理”数据库位于当前目录下,请使用Command对象查询出自动化专业的全部学生的学号、姓名和年级,并调用例10-4中的ShowData方法把查询结果显示出来。程序设计界面如图10-8(a)所示。程序刚运行时,只有“连接”按钮可用,单击该按钮,将建立到当前目录下的“教学管理”数据库的连接,然后“连接”按钮不可用,“显示查询结果”按钮可用。单击“显示查询结果”按钮,将把查询结果的数据显示在MsFlexGrid控件中,同时“显示查询结果”按钮不可用,“关闭”按钮可用,如图10-8(b)所示。单击“关闭”按钮,将关闭记录集、连接并结束程序。

题意分析:可使用Command对象的Execute方法执行查询得到结果记录集,处理的一般步骤如下: (1)设置Command对象的ActiveConnection属性为所需要的连接对象名; (2)设置Command对象的CommandText属性为要执行的查询字符串; (3)设置Command对象的CommandType属性为要执行的命令类型; (4)调用Command对象的Execute方法执行查询(若是返回记录集的查询,可把结果赋值给一个记录集对象变量)。

【例10-6】给当前目录中的“教学”数据库中的“教师表”添加一条记录,记录值为{‘05003’,‘杨权’,‘女’,#09/22/69#,‘讲师’,‘计算机学院’,3855.50}。要求使用Command对象。程序的运行界面如图10-9所示,程序运行时单击“连接并显示”命令将把“教师表”中的当前数据显示出来,如图10-9(a)所示,单击“插入并显示”将显示插入一条记录后的“教师表”信息,如图10-9(b)所示。 题意分析:可通过Command对象来执行一条SQL-INSERT命令,从而可以插入一条记录到相应的表中。在插入前和插入后把该表的内容分别显示出来以观察程序的运行结果。

10.5 Field对象和Fields集合 10.5.1 Field对象的常用属性 1.ActualSize属性 2.Attributes属性 3.DefinedSize属性 4.Name属性 5.NumericScale属性 6.OriginalValue属性 7.Precision属性 8.Type属性 9.UnderlyingValue属性 10.Value属性

10.5.2 Field对象的常用方法 10.5.3 Fields对象的常用属性 1.AppendChunk方法 该方法的使用格式如下: Field.AppendChunk Data 2.GetChunk方法 该方法的使用格式如下: variable = field.GetChunk( Size ) 10.5.3 Fields对象的常用属性 Fields对象是Field对象的集合,它有一个属性Count,该属性用来返回Fields对象中包含的Field对象个数。如果Count属性为零,集合中将不存在对象。Field集合对象的每个成员都有一个编号,从0开始,以Count属性值减1结尾。

10.5.4 Fields对象的常用方法 1.Append方法 该方法的语句格式如下: fields.Append Name, Type, DefinedSize, Attrib 2.Delete方法 该方法的使用格式如下: Fields.Delete Field 3.Item方法 使用格式如下: Set Field = Fields.Item ( Index ) 【例10-7】编写一个程序,用来显示“教学”数据库中的“教师表”中的字段信息。程序设计界面如图10-10(a)所示。程序运行时,在列表框中将显示出“教师表”的所有字段名,当在列表框中选中相应的字段时,该字段的长度、类型和字段值将分别显示在相应的文本框中,如图10-10(b)所示。

题意分析:在Form_Load事件中,建立到“教学”数据库的连接并创建以“教师表”为基础的Recordset对象,然后通过一个循环把Fields集合中每个Field对象的Name属性添加到列表框中。程序运行时,当发生List1的Click事件时,将选中字段的属性DefinedSize、Type、Value值分别赋给相应的文本框的Text属性。

10.6 Error对象和Errors集合 10.6.1 Error对象的常用属性 1.Description属性 2.NativeError属性 3.Number属性 4.Source属性 5.SQLState属性 10.6.7 Errors对象的常用属性与方法 Clear方法的使用格式如下: Errors.Clear

10.7 利用ADO Data控件进行数据库编程 10.7.1 ADO Data控件简介 1.添加ADO Data控件 添加方法是:执行【工程】→【部件】命令,将出现的“部件”对话框,在该对话框中选中“Microsoft ADO Data Control 6.0(OLEDB)”后按“确定”按钮。 2.ADO Data控件的主要功能 (1)连接到一个本地数据库或远程数据库。 (2)从指定的数据库表或视图中提取记录构成记录集,或通过执行一个基于结构化查询语言(SQL)的查询来构成记录集,或执行存储过程来构成记录集。 (3)将字段的数值传递给数据绑定控件,可以在这些控件中显示或更改字段值。 (4)添加新的记录,或根据对显示在数据绑定控件中的数据的更改来更新一个数据库。

10.7.2 ADO Data控件的属性窗口 1.“通用”属性页 建立连接字符串有三种方式,分别如下: (1)使用Data Link文件 (2)使用ODBC数据源名称 (3)使用连接字符串 2.“身份验证”属性页 3.“记录源”属性页

10.7.3 ADO Data控件的常用属性 1.ConnectionString属性 2.UserName属性 3.Password属性 4.RecordSource属性 5.CommandType属性 6.CursorLocation属性 7.CursorType属性 8.LockType属性 9.Mode属性 10.MaxRecords属性 11.ConnectionTimeout属性 12.CacheSize属性 13.BofAction、EofAction属性

10.7.4 ADO Data控件的常用事件 1.WillMove事件 2.MoveComplete事件 3.WillChangeField事件 4.FieldChangeComplete 5.WillChangeRecord事件 6.RecordChangeComplete事件 7.WillChangeRecordset事件 8.RecordsetChangeComplete事件 9.InfoMessage事件

10.7.5 常用的与ADO Data控件绑定使用的数据绑定控件 (2)设置该控件的ConnectionString属性以连接到数据库; (3)设置RecordSource属性以决定检索什么信息; (4)设置CommandType属性以告诉提供者命令的类型; (5)设置CursorType属性以决定游标的类型; (6)根据需要再设置ADO Data控件的其它属性; (7)在窗体上放置数据绑定控件; (8)设置数据绑定控件的DataSource属性为ADO Data控件名; (9)设置数据绑定控件的DataField属性为记录集中的某个字段名; (10)编写事件过程对程序进行控制。

10.7.6 使用ADO Data控件创建数据库应用程序示例 【例10-9】把当前目录下的“教学”数据库中的“学生表”信息显示在一个DataGrid控件中。要求使用ADO Data控件。 题意分析:ADO Data控件与DataGrid控件均不是VB工具箱中的控件,需要把它们加载进工程,加载的方法前面已经说明。在工程中绘制ADO Data控件和DataGrid控件,界面设置如图10-18(a)所示。

图10-18 例10-9程序设计界面与运行界面

10.8 ADO开发实例 【例10-10】编写一个程序,对“教学”数据库中“教师表”的工资信息进行修改,从而实现加工资的功能。加工资的方法是:所有人的工资增加10%。要求使用ADO方式并把对工资的修改作为一个事务,最后通过对话框确认事务提交或撤消。 题意分析:首先要建立对“教学”数据库的连接,然后调用连接的BeginTrans方法开始一个事务,调用连接的Execute方法执行一个SQL-Update语句对工资进行修改,然后可通过一个消息框询问用户是否保存对工资的修改,如果回答“是”,则提交事务,确认对工资的修改,如果回答“否”,则撤消对工资的修改。

【例10-11】编写一个对“教学”数据库中的“课程表”进行维护的程序,程序的设计界面如图10-19所示。界面上的文本框用来显示当前记录的内容,界面上的按钮用来执行对记录集的相应操作。要求:(1)只有在添加记录和修改记录时,才能向文本框中输入内容。(2)执行相应操作时,按钮的状态要发生变化。如记录指针移到了首记录,“首记录”和“前移”按钮不能使用;单击“添加”按钮后,所有的移动按钮、“删除”按钮、“添加”和“修改”按钮均不可用等等。(3)使用ADO编程。

小结 ADO(ActiveX Data Objects)是Microsoft最新的数据访问接口,通过它可以访问多种类型的数据库。ADO由七个基本对象组成,这七个基本对象分别是Connection、Recordset、Command、Field、Property、Parameter和Error,另外它还包含Errors、Parameters、Fields、Properties四S个集合对象。使用ADO进行编程的一般步骤是:首先使用Connection建立与数据库的连接,然后通过执行Recordset对象的Open(或Execute)方法或Command对象的Execute方法产生一个记录集,然后就可以对记录集对象进行具体的数据操作了。本章详细介绍了Connection、Recordset、Command、Field和Error对象的属性和方法,并通过实例详细地解析了这些对象的使用方法。另外本章还介绍了ADO Data控件的属性和方法,并对利用ADO Data控件和数据绑定控件进行数据库编程进行了详细的解析。