《Visual-Basic程序设计综合教程第10章-Visual-Basic数据库编程.ppt》由会员分享,可在线阅读,更多相关《Visual-Basic程序设计综合教程第10章-Visual-Basic数据库编程.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第10章章 Visual Basic数据库编程数据库编程 VBVB作为重要的应用程序开发工具,其主要功作为重要的应用程序开发工具,其主要功作为重要的应用程序开发工具,其主要功作为重要的应用程序开发工具,其主要功能除设计界面外,还有数据庫应用程序的开发功能除设计界面外,还有数据庫应用程序的开发功能除设计界面外,还有数据庫应用程序的开发功能除设计界面外,还有数据庫应用程序的开发功能。一个数据库应用程序包含前端界面和后台的能。一个数据库应用程序包含前端界面和后台的能。一个数据库应用程序包含前端界面和后台的能。一个数据库应用程序包含前端界面和后台的数据库,数据库,数据库,数据库,VBVB可连接的数据
2、库主要有可连接的数据库主要有可连接的数据库主要有可连接的数据库主要有Microsoft Microsoft AccessAccess、FoxProFoxPro、ExcelExcel、SQLSQLserverserver数据数据数据数据库等,同时库等,同时库等,同时库等,同时VBVB的集成开发环境中也包含了自己的的集成开发环境中也包含了自己的的集成开发环境中也包含了自己的的集成开发环境中也包含了自己的数据库(其实质是数据库(其实质是数据库(其实质是数据库(其实质是ACCESSACCESS数据库)设计器,使数据库)设计器,使数据库)设计器,使数据库)设计器,使VBVB成为一个简单方便的数据库应用程
3、序设计工具。成为一个简单方便的数据库应用程序设计工具。成为一个简单方便的数据库应用程序设计工具。成为一个简单方便的数据库应用程序设计工具。【主要内容主要内容主要内容主要内容】l l数据库及数据表数据库及数据表l l数据源及连接数据源及连接l lSQL语言基础应用语言基础应用10.1 数据库基本概念数据库基本概念10.2 结构化查询语言结构化查询语言SQL10.3 使用数据库管理器使用数据库管理器 10.4 Data控件控件 10.5 DBGrid控件控件 10.6 ADO Data 控件控件 10.1 数据库基本概念数据库基本概念10.1.1 关系数据库的基本结构关系数据库的基本结构 1.表
4、2.记录 3.字段表 4.关系 5.索引 6.视图 7.存储过程10.1.2 Microsoft Jet 10.1.2 Microsoft Jet 引擎引擎引擎引擎 Microsoft Jet Microsoft Jet引擎提供了数据的物理存储结引擎提供了数据的物理存储结构,也提供了数据处理的多种功能,如数据检索构,也提供了数据处理的多种功能,如数据检索和更新,它还提供了保证数据有效性验证和数据和更新,它还提供了保证数据有效性验证和数据完整性的方法。在数据库的安全性上,完整性的方法。在数据库的安全性上,JetJet引擎支引擎支持用户口令和用户的访问权限的设置。另外,持用户口令和用户的访问权限的
5、设置。另外,JetJet引擎还支引擎还支 持持SQLSQL语句。语句。Visual Basic Visual Basic提供了基于提供了基于Microsoft JetMicrosoft Jet数据库数据库引擎的数据访问能力。而引擎的数据访问能力。而JetJet引擎为引擎为Visual BasicVisual Basic提供了功能强大的、面向对象的提供了功能强大的、面向对象的DAODAO编程接口。编程接口。Visual BasicVisual Basic提供了两种与提供了两种与JetJet数据库引擎接口的数据库引擎接口的方法:方法:DataData控件和数据访问对象。控件和数据访问对象。Data
6、Data控件控件 使用使用DataData控件能够轻松、快速地开发出使用控件能够轻松、快速地开发出使用的数据库应用程序。当用户使用的数据库应用程序。当用户使用DataData控件时,用控件时,用户无须编程或只需少量代码就能打开数据库,并户无须编程或只需少量代码就能打开数据库,并浏览数据内容。但浏览数据内容。但DataData控件只能访问数据库而无控件只能访问数据库而无法创建数据库,而且它没提供增加和删除记录的法创建数据库,而且它没提供增加和删除记录的功能。此外,由于功能。此外,由于DataData控件的一些自动功能,如控件的一些自动功能,如自动更新等,使得用户不能完全控制数据库。可自动更新等,
7、使得用户不能完全控制数据库。可以看出,使用以看出,使用DataData控件编程适合一些简单或需短控件编程适合一些简单或需短时间开发的应用程序。时间开发的应用程序。数据访问对象数据访问对象 使用数据访问对象(使用数据访问对象(DAODAO)编写数据库应用程序,从)编写数据库应用程序,从数据库的创建,表、字段和索引的创建和设计,建立表间数据库的创建,表、字段和索引的创建和设计,建立表间的关系,到设计数据处理的各项操作,都由程序员在编写的关系,到设计数据处理的各项操作,都由程序员在编写代码中实现,这使得程序员能有很大的灵活性,但同时也代码中实现,这使得程序员能有很大的灵活性,但同时也提出更高的要求。
8、由于用数据访问对象编写的数据库应用提出更高的要求。由于用数据访问对象编写的数据库应用程序可以在程序运行中创建数据库,因此能得到诸多好处,程序可以在程序运行中创建数据库,因此能得到诸多好处,如编写的数据库软件就不必包括空的数据库文件,数据库如编写的数据库软件就不必包括空的数据库文件,数据库应用程序很容易适应不同的需求和环境,程序的扩展也更应用程序很容易适应不同的需求和环境,程序的扩展也更容易等。但使用容易等。但使用DAODAO编程,由于代码的增多,代码的维护编程,由于代码的增多,代码的维护困难也增大了,也较容易产生错误,开发时间也增大了。困难也增大了,也较容易产生错误,开发时间也增大了。10.1
9、.3 相关概念相关概念1 1数据访问对象模型2 2结构化查询语言SQL3 3ODBC和数据库 4 4数据库访问 10.2 结构化查询语言结构化查询语言SQL10.2.1 SQL 语言的组成语言的组成SQL语言包含查询、操纵、定义和控制等几个部分。各种语句对应的动词如下:数据查询:SELECT。数据定义:CREATE,DROP。数据操纵:INSERT,UPDATE,DELETE。数据控制:GRANT,REVOKE。10.2.2 SQL10.2.2 SQL语句使用举例语句使用举例语句使用举例语句使用举例以以“表表10.1”10.1”学生信息表为基础,下面是一些学生信息表为基础,下面是一些SQLSQ
10、L语句的例子:语句的例子:例如,查询学号为例如,查询学号为wl0603wl0603的学生信息:的学生信息:select *from select *from 学生表学生表 where where studentIDstudentID=wl0603=wl0603查询城市为兰州的学生姓名:查询城市为兰州的学生姓名:select name from select name from 学生表学生表 where city=where city=兰州市兰州市 添加一个新记录:添加一个新记录:Insert into Insert into 学生表学生表(studentID,name,citystudentI
11、D,name,city)value(wl0607)value(wl0607王王萍萍,甘肃甘肃)删除一条记录:删除一条记录:delete delete 学生表学生表 where where studentIDstudentID=wl0603=wl060310.3 使用数据库管理器使用数据库管理器 VB程序含有一个可视化数据管理器,使用它可以方便地建立数据库、数据表和数据查询。由于它功能完整,易于操作,因此很容易掌握。10.3.1 建立数据库建立数据库1.数据库管理器的启动2.创建数据库 10.3.2 添加数据表添加数据表 使用可视化数据管理器创建好数据后,就可以向数据库中添加数据表。下面就添加一
12、个Access数据库表。建立表结构修改数据表结构 10.3.3 数据表中数据的编辑数据表中数据的编辑1.使用“数据管理器”工具栏2.数据记录的输入与修改10.4 Data控件控件 Data控件是VB中访问数据库的重要控件,它支持大多数与数据库有关的操作。通过它可以开发非常复杂的数据库应用程序。10.4.1 Data控件的属性控件的属性 使用Data控件可在不添加任何代码的情况下完成如下功能:完成对本地或远程数据库的连接。打开指定的数据库表,或者是基于SQL的查询集。将表中字段传至数据绑定控件,并针对数据绑定控件中的修改来更新数据库。DataData控件有很多属性,下面我们选择重要的进行介绍控件
13、有很多属性,下面我们选择重要的进行介绍:ConnectConnect属性属性 设置连接的数据库类型。设置连接的数据库类型。VBVB提供了提供了7 7种可访问的数据库类型,其中比种可访问的数据库类型,其中比较常用是的较常用是的Microsoft Microsoft Access,dBaseAccess,dBase和和FoxProFoxPro等。可在属性窗口中单等。可在属性窗口中单击击ConnectConnect属性右边的按钮;也可以在使用时用代码进行设置。如果属性右边的按钮;也可以在使用时用代码进行设置。如果使用使用Microsoft AccessMicrosoft Access的数据库格式,不
14、需要设置这个属性。的数据库格式,不需要设置这个属性。DatabaseNameDatabaseName属性属性 设置被访问的数据库的名称和路径。可能通过设置被访问的数据库的名称和路径。可能通过DatabaseNameDatabaseName属性右属性右边的按钮来设置;也可以通过代码在运行时设置。边的按钮来设置;也可以通过代码在运行时设置。ExclusiveExclusive属性属性 设置是单用户方式还是多用户方式打开指定的数据库。当设置为设置是单用户方式还是多用户方式打开指定的数据库。当设置为TrueTrue时是单用户方式。时是单用户方式。RecordsourceRecordsource属性属性
15、 返回或设置数据源为底层表、返回或设置数据源为底层表、SQLSQL语句或语句或QueryDefQueryDef对象。对象。10.4.2 Data10.4.2 Data控件的方法控件的方法控件的方法控件的方法 Data Data控件的常用方法:控件的常用方法:RefreshRefresh方法方法 在在DataData控件打开或重新打开数据库的内容时,该控件打开或重新打开数据库的内容时,该方法可以更新方法可以更新DataData控件的数据设置。控件的数据设置。UpdateRecordUpdateRecord方法方法 把当前的内容保存到数据库中去,但不触发把当前的内容保存到数据库中去,但不触发Val
16、idateValidate事件。事件。UpdateControlsUpdateControls方法方法 将将DataData控件记录中的当前记录填充到某个数据绑控件记录中的当前记录填充到某个数据绑定控件。定控件。10.4.3 10.4.3 RecordsetRecordset对象对象对象对象 RecordsetRecordset是由是由DataData控件返回的代表选定记录集的控件返回的代表选定记录集的一个对象,它是一个属性也是一个对象,并且一个对象,它是一个属性也是一个对象,并且有自己的方法和属性。有自己的方法和属性。RecordsetRecordset的方法的方法(1)(1)MoveFir
17、st,MoveNext,MovePreviousMoveFirst,MoveNext,MovePrevious和和MoveLastMoveLast方法方法(2)(2)FindFirst,FindLast,FindNextFindFirst,FindLast,FindNext和和FindPreviousFindPrevious方方法法(3)(3)AddNew,Edit,DeleteAddNew,Edit,Delete和和UpdateUpdate方法方法(4)(4)CloseClose方法方法10.5 DBGrid控件控件 VB VB提供了一个简单、方便、快捷的数据访问对象提供了一个简单、方便、快
18、捷的数据访问对象DataData控件,便用它只需少量的代码即可访问多种数据库中控件,便用它只需少量的代码即可访问多种数据库中的数据。但是,只是的数据。但是,只是DataData控件是不够的,必须使用数据绑控件是不够的,必须使用数据绑定控件来显示、编辑和查询数据库中的数据。数据绑定控定控件来显示、编辑和查询数据库中的数据。数据绑定控件也叫数据识别控件,可通过它访问数据库的信息。当一件也叫数据识别控件,可通过它访问数据库的信息。当一个控件通过设置属性被绑定到个控件通过设置属性被绑定到DataData控件时,控件时,VBVB会把会把 从当从当前数据库记录取出的相应字段值应用于该控件,控件就显前数据库
19、记录取出的相应字段值应用于该控件,控件就显示数据并接受更改。示数据并接受更改。在在VBVB中可以与中可以与DataData控件一起使用的标准绑定控件包控件一起使用的标准绑定控件包括:复选框、图像框、图片框、标签、文本框、列表框和括:复选框、图像框、图片框、标签、文本框、列表框和组合框。大多数数据绑定控件都有组合框。大多数数据绑定控件都有DataSourceDataSource和和DataFieldDataField属性,前者指定绑定的数据源,后者指定绑定属性,前者指定绑定的数据源,后者指定绑定的字段。本节主要讨论的字段。本节主要讨论DBGridDBGrid控件控件.10.5.1 10.5.1
20、用用用用DBGridDBGrid控件浏览数据库表控件浏览数据库表控件浏览数据库表控件浏览数据库表 在使用在使用DBGridDBGrid控件之前,必须通过控件之前,必须通过“工程工程”菜单的菜单的 “部件部件”选取选取Microsoft Data Bound Grid Control 5.0,Microsoft Data Bound Grid Control 5.0,如图如图10.710.7所示。单击所示。单击“确定确定”按钮之后,按钮之后,DBGridDBGrid控件的图标控件的图标将出现在工具箱中,我们可以像内部控件一样将它拖放到将出现在工具箱中,我们可以像内部控件一样将它拖放到窗体中。窗体
21、中。使用使用DBGridDBGrid控件显示和浏览一个已有的数据库的布骤控件显示和浏览一个已有的数据库的布骤如下:如下:1.1.在新窗体中添加一个在新窗体中添加一个DataData控件控件,再设置其再设置其DataNameDataName和和RecordSourceRecordSource属性为想要显示的数据库和表。属性为想要显示的数据库和表。2.2.在窗体中添加一个在窗体中添加一个DBGridDBGrid控件,并设置其控件,并设置其DataSourceDataSource属属性为刚创建的控件。性为刚创建的控件。3.3.设置设置DBGridDBGrid控件的其他相关属性。控件的其他相关属性。4
22、.4.运行程序。运行程序。10.5.2 10.5.2 DBGridDBGrid控件设计操作控件设计操作控件设计操作控件设计操作当第一次创建当第一次创建当第一次创建当第一次创建DBGridDBGrid控件时,它只有一行和一列,控件时,它只有一行和一列,控件时,它只有一行和一列,控件时,它只有一行和一列,还包含一个空行(在运行时用星号来表示),用还包含一个空行(在运行时用星号来表示),用还包含一个空行(在运行时用星号来表示),用还包含一个空行(在运行时用星号来表示),用来添加新记录。在来添加新记录。在来添加新记录。在来添加新记录。在“属性页属性页属性页属性页”窗口中通过设置可窗口中通过设置可窗口中
23、通过设置可窗口中通过设置可以改变以改变以改变以改变DBGridDBGrid控件的任何可视属性。控件的任何可视属性。控件的任何可视属性。控件的任何可视属性。“属性页属性页属性页属性页”窗口显示整个窗口显示整个窗口显示整个窗口显示整个DBGridDBGrid控件的属性。要控件的属性。要控件的属性。要控件的属性。要设置单个的设置单个的设置单个的设置单个的ColumnColumn对象的属性,必须把对象的属性,必须把对象的属性,必须把对象的属性,必须把DBGridDBGrid控件置为活动状态。将鼠标至于控件置为活动状态。将鼠标至于控件置为活动状态。将鼠标至于控件置为活动状态。将鼠标至于DBGridDBG
24、rid控件区域,控件区域,控件区域,控件区域,按下鼠标右键,再从按下鼠标右键,再从按下鼠标右键,再从按下鼠标右键,再从DBGridDBGrid控件的弹出菜单中选控件的弹出菜单中选控件的弹出菜单中选控件的弹出菜单中选择择择择EditEdit(编辑)。使用弹出菜单可以插入或删除(编辑)。使用弹出菜单可以插入或删除(编辑)。使用弹出菜单可以插入或删除(编辑)。使用弹出菜单可以插入或删除列,或者剪切和粘贴列,或者追加新列,以此来列,或者剪切和粘贴列,或者追加新列,以此来列,或者剪切和粘贴列,或者追加新列,以此来列,或者剪切和粘贴列,或者追加新列,以此来调整列的设置。调整列的设置。调整列的设置。调整列的
25、设置。在弹出菜单中选择在弹出菜单中选择“属性属性”选项可得到选项可得到“属性页属性页”对话框,里面有不同题目的选项卡。每一个对话框,里面有不同题目的选项卡。每一个DBGridDBGrid控件都有属性页,每个控件都有属性页,每个ColumnColumn对象也有对象也有它自己的选项卡。可以使用这些选项卡交互地设它自己的选项卡。可以使用这些选项卡交互地设置作为一个整体的置作为一个整体的DBGridDBGrid控件或者单个选定的列控件或者单个选定的列属性。属性。GeneralGeneral选项卡显示出应用于整个选项卡显示出应用于整个DBGridDBGrid控件的控件的属性并且在设计时可以确定取值。属性
26、并且在设计时可以确定取值。ColumnsColumns选项卡显示出单个列的属性。如果选定选项卡显示出单个列的属性。如果选定多列,则多列,则ColumnsColumns选项卡中最左边的列先被选择。选项卡中最左边的列先被选择。设置设置ColumnColumn对象属性不影响整体的对象属性不影响整体的DBGridDBGrid控件控件的属性。的属性。“颜色颜色”选项卡允许选择所有选项卡允许选择所有DBGridDBGrid的控件的颜的控件的颜色。色。ColumnColumn对象的颜色不会受这些设置的影响。对象的颜色不会受这些设置的影响。“字体字体”选项卡允许选择所有选项卡允许选择所有DBGridDBGri
27、d控件和标题控件和标题的字体。的字体。ColumnColumn对象的字体不会受这些设置的影对象的字体不会受这些设置的影响。响。如果一个单元格的文本太长,在单元各中显示不如果一个单元格的文本太长,在单元各中显示不下,此文本会自动地在同一单元格折到下一行。下,此文本会自动地在同一单元格折到下一行。要显示被折叠的文本,可以加宽单元格的要显示被折叠的文本,可以加宽单元格的ColumnColumn对象的对象的WidthWidth属性或属性或DBGridDBGrid控件本身的控件本身的RowHeightRowHeight属性。属性。10.5.3 10.5.3 GBRridGBRrid控件的运行操作控件的运
28、行操作控件的运行操作控件的运行操作在运行时,在运行时,DBGridDBGrid控件从基本控件从基本RecordsetRecordset对象中显示记录。即使在对象中显示记录。即使在DBGridDBGrid控件中有多行被选中,也总是只有一个当前记录。此当前记录控件中有多行被选中,也总是只有一个当前记录。此当前记录相应于相应于DataData控件的当前记录,可以用控件的当前记录,可以用DBGridDBGrid控件的控件的BookmarkBookmark属性对属性对它进行设置或者检索。它进行设置或者检索。BookmarkBookmark属性提供对基本属性提供对基本RecordsetRecordset对
29、象的当对象的当前记录的访问。前记录的访问。正如其他的数据绑定控件一样,当在正如其他的数据绑定控件一样,当在DBGridDBGrid控件中改变一个记录(或控件中改变一个记录(或者一个记录中的任何一个字段)时,如果它可以更新并且者一个记录中的任何一个字段)时,如果它可以更新并且DBGridDBGrid控件控件的的AllowUpdateAllowUpdate属性设置为属性设置为TrueTrue,则基本记录集就会在移动到一个新,则基本记录集就会在移动到一个新记录(行)时被更新。否则,就会出现一个可捕获的错误。记录(行)时被更新。否则,就会出现一个可捕获的错误。如果如果RecordSelectorsRe
30、cordSelectors属性为属性为TrueTrue,则通过单击该行的记录选择器图,则通过单击该行的记录选择器图标可以选择一整行。当选择一个单元格时,就会设置标可以选择一整行。当选择一个单元格时,就会设置ColCol和和RowRow属性。属性。该该ColumnColumn对象的对象的TextText和和ValueValue属性引用当前单元格的内容属性引用当前单元格的内容.可用可用SelStartColSelStartCol和和SelEndColSelEndCol属性返回一个选定范围的起始列和结束列属性返回一个选定范围的起始列和结束列10.6 ADO Data 控件控件 ADO Data控件有
31、时简称为ADO控件,它与VB固有的Data控件相似。使用ADO Data控件,可以使用Microsoft ActiveX Data Obiects(ADO)快速建立数据绑定控件和数据提供者之间的连续。10.6.1 10.6.1 关于关于关于关于ADO DataADO Data控件控件控件控件ADO DataADO Data控件可以实现以下功能:控件可以实现以下功能:控件可以实现以下功能:控件可以实现以下功能:连接一个本地数据库或远程数据库。连接一个本地数据库或远程数据库。连接一个本地数据库或远程数据库。连接一个本地数据库或远程数据库。打开一个指定的数据库表,或定义一个基本结构打开一个指定的数据
32、库表,或定义一个基本结构打开一个指定的数据库表,或定义一个基本结构打开一个指定的数据库表,或定义一个基本结构化查询语言(化查询语言(化查询语言(化查询语言(SQLSQL)的查询、存储过程或该数据)的查询、存储过程或该数据)的查询、存储过程或该数据)的查询、存储过程或该数据库中的表的视图的记录集合。库中的表的视图的记录集合。库中的表的视图的记录集合。库中的表的视图的记录集合。将数据字段的数值传递给数据绑定控件,可以在将数据字段的数值传递给数据绑定控件,可以在将数据字段的数值传递给数据绑定控件,可以在将数据字段的数值传递给数据绑定控件,可以在这些控件中显示或更改这些数值。这些控件中显示或更改这些数
33、值。这些控件中显示或更改这些数值。这些控件中显示或更改这些数值。添加新的记录,或根据更改显示在绑定的控件中添加新的记录,或根据更改显示在绑定的控件中添加新的记录,或根据更改显示在绑定的控件中添加新的记录,或根据更改显示在绑定的控件中的数据来更新一个数据库。的数据来更新一个数据库。的数据来更新一个数据库。的数据来更新一个数据库。要使用ADO Data控件,可单击“工程”菜单上的“部件”选项,并在“部件”对话框中选择Microsoft ADO Data Control 6.0如 图10.8所示。单击“确定”按钮,就可以在VB中的控件工具箱内看到它。通过数据控件可以直接对记录集进行访问,移动记录指针
34、,不需要编写代码即可实现对数据库的操作。10.6.2 ADO Data 10.6.2 ADO Data 控件的属性控件的属性控件的属性控件的属性下面介绍下面介绍ADO DataADO Data控件的一些常用属性。控件的一些常用属性。1.Align 1.Align 属性属性用来把数据控件摆放在窗体的特定为止,有用来把数据控件摆放在窗体的特定为止,有5 5个可选的位置。个可选的位置。VbAlignNoneVbAlignNone:可以用鼠标指针拖动控件到窗口的任何位可以用鼠标指针拖动控件到窗口的任何位置。置。VbAlignTopVbAlignTop:将控件放到窗口的顶端。将控件放到窗口的顶端。VbA
35、lignBottomVbAlignBottom:将控件放到窗口的底部。将控件放到窗口的底部。VbAlignLeftVbAlignLeft:将控件放到窗口的最左边。将控件放到窗口的最左边。VbAlignRightVbAlignRight:将控件放到窗口的最右边。将控件放到窗口的最右边。2.BOFAction2.BOFAction和和EOFActionEOFAction属性属性当移动数据库记录指针时,如果记录指针移动到当移动数据库记录指针时,如果记录指针移动到BOFBOF或或EOFEOF位置后,再位置后,再向前或向后移动记录指针将发生错误。向前或向后移动记录指针将发生错误。BOFActionBOF
36、Action和和EOFActionEOFAction属性属性指定当发生上述错误时,数据控件采取什么样的操作。指定当发生上述错误时,数据控件采取什么样的操作。BOFActionBOFAction属性有两个可选常量:属性有两个可选常量:AdDoMoveFirstAdDoMoveFirst:移动记录指针到第一个记录。移动记录指针到第一个记录。AdStayBOFAdStayBOF:移动记录指针到纪录的开始。记录指针移动到纪录的开移动记录指针到纪录的开始。记录指针移动到纪录的开始位置时将引发数据控件的始位置时将引发数据控件的ValidataValidata事件和事件和RepositionRepositi
37、on事件,这时可编事件,这时可编写程序代码确定要执行的操作。写程序代码确定要执行的操作。EOFActionEOFAction属性有属性有3 3个可选常量:个可选常量:adDoMoveLastadDoMoveLast:移动记录指针到最后一个记录。移动记录指针到最后一个记录。adStayEOFadStayEOF:移动记录指针到记录的结尾,同样可使用它所引发的事移动记录指针到记录的结尾,同样可使用它所引发的事件来编写程序代码。件来编写程序代码。adDoAddNewadDoAddNew:当记录指针移动到文件尾部时,引发数据控件的当记录指针移动到文件尾部时,引发数据控件的ValidateValidate
38、事件事件,然后自动执行然后自动执行AddNewAddNew方法添加新记录,并在新记录上方法添加新记录,并在新记录上引发引发RepositionReposition事件。事件。3.ConnectionString3.ConnectionString属性属性ConnectionStringConnectionString属性用来建立到数据源的连接的属性用来建立到数据源的连接的信息。由于信息。由于VBVB的的ADOADO对象模型可以链接不同类型对象模型可以链接不同类型的数据库,所以在使用的数据库,所以在使用ADO DataADO Data控件时也能够通控件时也能够通过过ConnectionStrin
39、gConnectionString属性来设置要链接的数据库属性来设置要链接的数据库在设计时在设计时,可以首先将可以首先将ConnectionStringConnectionString属性设置属性设置为一个有效的连接字符串为一个有效的连接字符串,也可以将也可以将ConnectionStringConnectionString属性设置为定义连接的文件名属性设置为定义连接的文件名该文件是由该文件是由“数据链接数据链接”对话框产生的设置对话框产生的设置ConnectionStringConnectionString属性的步骤如下属性的步骤如下:(1)(1)单击单击ADO DataADO Data控件
40、,并在控件,并在“属性属性”窗口中单击窗口中单击ConnectionStringConnectionString属属性的性的“”按钮,会出现如图按钮,会出现如图10.910.9所示的所示的“属性页属性页”对话框对话框(2(2)如果已经建立了一个)如果已经建立了一个MicrosoftMicrosoft数据链接文件数据链接文件,选择选择“使用使用Data LinkData Link文件文件”单选按钮,并单击单选按钮,并单击“浏览浏览”按钮按钮,以找到计算机上的文件。以找到计算机上的文件。(3(3)如果使用)如果使用DSNDSN,则单击,则单击“使用使用ODBCODBC数据源名称数据源名称”连接,并
41、从下拉连接,并从下拉列表框中选择一个列表框中选择一个DSNDSN,或单击,或单击“新建新建”创建一个。创建一个。(4)(4)如果想创建一个连接字符串,可选择如果想创建一个连接字符串,可选择“使用连接字符串使用连接字符串”单选按钮,单选按钮,再单击再单击“生成生成”按钮,然后如按钮,然后如 图图10.1010.10所示的所示的“数据链接属性数据链接属性”对话对话框里创建一个连接。框里创建一个连接。(5(5)在创建连接字符串后,单击)在创建连接字符串后,单击“确定确定”按钮。按钮。ConnectionStringConnectionString属性属性将使用一个类似于下面一行的字符来填充:将使用一
42、个类似于下面一行的字符来填充:driver=SQL driver=SQL Server;serverServer;server=bigsmile;uidbigsmile;uid=sa;pwdsa;pwd=pwd;databasepwd;database=pubs=pubs在运行时,可以动态地设置在运行时,可以动态地设置ConnectionStringConnectionString更改数据库。更改数据库。4.RecordSource4.RecordSource属性属性RecordSourceRecordSource属性设置要连接的表或者属性设置要连接的表或者SQLSQL查询语句。可以在查询语句
43、。可以在“属性属性”窗口中将窗口中将“记录源记录源”属性设置为一个属性设置为一个SQLSQL语句。例如:语句。例如:SELECT*FROM student WHERE sex=”SELECT*FROM student WHERE sex=”男男”5.CommandType5.CommandType属性属性CommandTypeCommandType属性用于指定属性用于指定RecordSourceRecordSource属性的取值类型。可直接在属性的取值类型。可直接在 “属性属性”窗口中窗口中CommandTypeCommandType属性右边的下拉列表中选择需要的类属性右边的下拉列表中选择需要
44、的类型,其取值如下:型,其取值如下:AdCmdUnknownAdCmdUnknown:默认值。:默认值。CommandTextCommandText属性中的命令类型未知属性中的命令类型未知.AdCmdTableAdCmdTable:将:将CommandTextCommandText作为其列全部由内部生成的作为其列全部由内部生成的SQLSQL查询查询返回的表格的名称进行计算。返回的表格的名称进行计算。adCmdTextadCmdText:将:将CommandTextCommandText作为命令或存储过程调用的文本化定作为命令或存储过程调用的文本化定义进行计算。义进行计算。adCmdStoreP
45、rocadCmdStoreProc:将:将CommandTextCommandText作为存储过程名进行计算作为存储过程名进行计算.6.UserName6.UserName属性属性UserNameUserName属性指定用户的名称。当数据库受密码保护时,需要指定该属性指定用户的名称。当数据库受密码保护时,需要指定该属性。该属性可以在属性。该属性可以在ConnectionStringConnectionString中指定。如果同时提供一个中指定。如果同时提供一个ConnectionStringConnectionString属性以及一个属性以及一个UserNameUserName属性,则属性,则
46、ConnectionStringConnectionString中的值将覆盖中的值将覆盖UserNameUserName属性的值。属性的值。7.Password7.Password属性属性PasswordPassword属性指定密码,在访问一个受保护的数据库时指定密码是必属性指定密码,在访问一个受保护的数据库时指定密码是必需的。和需的。和ProviderProvider属性与属性与UserNameUserName属性类似,如果在属性类似,如果在 ConnectionStringConnectionString属性中指定了密码,则将覆盖在该属性中指定的值。属性中指定了密码,则将覆盖在该属性中指定
47、的值。8.ConnectionTimeout8.ConnectionTimeout属性属性该属性设置等待建立一个连接的时间,以秒为单位如果连接超时,则该属性设置等待建立一个连接的时间,以秒为单位如果连接超时,则返回一个错误返回一个错误10.6.3 ADO Data控件的方法控件的方法ADO Data控件的常用方法如下:UpdateControls方法AddNew方法Delete方法CancelUpdate方法UpdateBatch方法10.6.4 ADO Data10.6.4 ADO Data控件的事件控件的事件控件的事件控件的事件ADO DataADO Data控件的常用事件如下:控件的常用
48、事件如下:WillMoveWillMove和和MoveCompleteMoveComplete 事件事件WillMoveWillMove事件在当前记录的位置即将发生变化时触发,如使用事件在当前记录的位置即将发生变化时触发,如使用ADO DataADO Data控件上的按钮移动记录位置时。控件上的按钮移动记录位置时。MoveCompleteMoveComplete 事件在位置改变完成事件在位置改变完成时触发。时触发。WillChangeFieldWillChangeField和和FieldChangeCompleteFieldChangeComplete事件事件WillChangeFieldWi
49、llChangeField事件是当前记录集中当前记录的一个或多个字段发生变事件是当前记录集中当前记录的一个或多个字段发生变化时触发,而化时触发,而FieldChangeCompleteFieldChangeComplete事件则是当字段的值发生变化后事件则是当字段的值发生变化后触发。触发。WillChangeRecordWillChangeRecord和和RecordChangeCompleteRecordChangeComplete事件事件WillChangeRecordWillChangeRecord事件是当前记录集中的一个或多个记录发生变化前产事件是当前记录集中的一个或多个记录发生变化前产生,而生,而RecordChangeCompleteRecordChangeComplete事件则是当前记录已经完成后触发。事件则是当前记录已经完成后触发。小结小结 本章主要介绍了数据库的相关概 念,VB与数据库的接口、主要数据库控件及其相关属性和方法,同时也详细介绍了VB数据库管理器的使用方法。