数据库的基本应用_第1页
数据库的基本应用_第2页
数据库的基本应用_第3页
数据库的基本应用_第4页
数据库的基本应用_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第11章数据库的基本应用第11章数据库的基本应用11.1数据库概述1

11.2VisualBasic的数据访问技术211.3通过数据管理器访问数据库311.4使用DAO访问数据库

4第11章数据库的基本应用11.5使用ADO访问数据库511.6数据环境设计器611.7数据报表的制作711.8综合实例811.1.1数据库基本概念1.数据库系统的组成数据库是信息时代的产物,是大量信息管理和处理的必须。人们通过数据库可以方便地使用、查找所需要的信息。一个完整的数据库系统(DataBaseSystem,简称DBS)由数据库(DataBase)、数据库管理系统(DataBaseManagementSystem,DBMS)、数据库应用系统、数据库管理员(DataBaseAdministrator,简称DBA)以及用户组成。数据库(DB)数据库管理系统(DBMS)数据库应用程序数据库系统11.1数据库概述12.数据库的分类:按照数据的组织形式可以将数据库分为层次型、网状型以及关系型结构。其中最常见的是关系型数据库。3.关系数据库的基本概念关系(表)记录(行)字段(列)主键索引数据库11.1数据库概述1学号姓名性别编号(外键)2008011001张三12008021002王五2性别名性别编号(主键)男1女211.1.2SQL数据查询SQL是StructuredQueryLanguage(结构化查询语言)的缩写,是最重要的关系数据库操作语言。1986年ANSI和ISO颁布了SQL正式标准,确认SQL为数据库操作的标准语言。SQL语言基本上独立于具体的数据库,独立于所使用的计算机、网络与操作系统。不同的DBMS对SQL语言的支持与标准的ANSISQL有些细微的不同。SQL的功能包括查询、操作、定义和控制4个方面,其核心功能的命令动词如表所示。

11.1数据库概述1SQL功能命令动词数据定义Create,Alter,Drop数据操纵Insert,Update,Delete数据控制Grant,Revoke数据查询Select(1)CreateTable语句格式:CreateTable<表名>[(<列名>类型[<长度>][notnull][<primarykey>]

[,<列名>类型[<长度>][notnull][<primarykey>]

……])功能:创建一个新表。示例:CreateTable性别表(性别名Integernotnullprimarykey,性别编号char(10))(2)AlterTable语句格式:AlterTable<表名>(Add<列名>类型,或者dropcolumn<列名>)功能:修改表结构。示例:AlterTable性别表add说明char(15)

AlterTable性别表dropcolumn说明11.1数据库概述1(3)DropTable语句格式:DropTable<表名>功能:删除表。示例:DropTable性别表(4)Insert语句格式:InsertInto<表名>[(<列名>[,<列名>]……)]Values(<常量>[,<常量>]……)功能:添加新的记录到表中。示例:InsertInto性别表(性别名,

性别编号)Values(1,”女”)11.1数据库概述1(5)Update语句格式:Update表名Set<列名>=<表达式>[,<列名>=<表达式>]……[Where<条件>]功能:对合乎条件的记录,改变其中一个或多个字段(列)值。示例:Update性别表Set性别名=”男”

Where性别编号=1(6)Delete语句格式:DeleteFrom<表名>[Where<条件>]功能:删除表中记录。若无Where子句则删除表中全部数据但表仍存在。示例:DeleteFrom性别表Where性别编号=111.1数据库概述1(7)Select语句格式:Select[Distinct]<字段名表>From<表名>[,<表名>][Where<条件表达式>][GroupBy<字段名>[Having<条件表达式>]][OrderBy<字段名>[Asc/Desc]]功能:在数据表中进行数据检索。各分句作用说明:

11.1数据库概述1子句作用Select指定要查看的字段From指定要从中检索的表Where指定选择的标准GroupBy把所选择的记录分组Having分组的提取条件OrderBy指定查询所得记录的排序方式示例1:显示学生的学号,姓名,性别,并且按照性别排序。Select学号,姓名,性别名称From学生表,性别表Where学生表.性别编号=性别表.性别编号Orderby性别编号示例2:计算学生表中男生和女生人数,并输出女生的人数。

SelectCount(*)

as学生人数From学生表,性别表

Where学生表.性别编号=性别表.性别编号GroupBy性别表.性别编号Having性别编号=211.1数据库概述1在VisualBasic中数据访问的过程主要分为三个阶段,首先通过数据库访问组件通过数据访问接口连接数据库,然后在窗体中将窗体控件与数据库的访问组件相连,最后,窗体控件通过数据库访问组件提供的方法或者对从数据库访问组件中返回的数据集进行处理,并返回给数据库库组件,以实现对数据库数据的处理。VisualBasic拥有丰富多样的数据处理方式,为每种类型的数据库访问技术都提供了相应的数据访问接口,各种数据库访问组件如何通过不同的数据访问接口连接数据库,将在以下的小节分别详细介绍。以下章节主要介绍四种数据访问方式:11.3通过数据管理器访问数据库11.4使用DAO访问数据库11.5使用ADO访问数据库11.6数据环境设计器

11.2VisualBasic的数据访问技术2在VB中自带一些“自动编程”的工具,其中就有一个名叫“数据管理器(DataManager”的应用程序-Visdata.exe,它是基于DAO数据访问对象模型设计的,可在VB开发环境中启动,也可以独立运行。凡是和VisualBasic有关的数据库的基本操作,例如数据库结构的建立、记录的添加和修改都可以利用这个工具完成。在VB的专业版中提供了这个程序的源程序,它的工程文件名是VISDATA.VBP。与VB同时发行的还有一个基于ADO的插件,名叫“数据窗体模版”(DFW,DataFormWinzard),使用这个插件,用户只需选择一个数据库和一个数据表,DFW就可以自动生成对此数据表进行增、删、改和浏览的窗体。使用可视化数据管理器建立数据库的过程分为3步:第一步建立数据库结构;第二步添加表到数据库中;第三步向表中输入数据。11.3通过数据管理器访问数据库3例11‑1通过可视化数据管理器创建一个名称为“选课”的Access的数据库,其中包含一个“性别表”的表格。表格的结构见表11‑3,数据见表11‑4。11.3通过数据管理器访问数据库3表11‑3性别表结构字段名称数据类型性别编号INT性别名称Text(10)表11‑4性别表数据性别编号性别名称1男2女11.4.1DAO对象模型使用数据访问对象编程包括两个部分:一是创建对象变量,二是通过设置对象的属性,调用对象的方法来操作它们。1.DAO对象的创建2.DAO数据访问对象的常用方法(1)SetDataBase方法功能:以指定的方式打开数据库。格式:Set数据库=工作区..OpenDataBase(数据库名,打开方式,读写方式,连接方式)(2)SetRecordset方法功能:从数据库中读取数据赋给指定记录。格式:SetRecordset=数据库名(表文件名,打开方式,表字段类型,锁定字段列表)(3)MoveFirst、MovePrevious、MoveNext、MoveLast、AddNew、Delete、BOF、EOF与Data控件方法相同。11.4使用DAO访问数据库

411.4.2Data控件Data控件是VisualBasic的标准控件之一,可以直接从工具箱中加入窗体,在工具箱中的图标为。1.数据控件的常用属性(1)Connect:指定Data控件所连接的数据库类型,默认的属性值是Access。(2)DatabaseName:选择要访问的数据库文件。(3)RecordSource:确定要访问的数据源。11.4使用DAO访问数据库

4

例11‑2利用Data控件连接Access数据库,假设数据库为“选课.mdb”存放在C盘根目录,其中包含一个表为“专业表”。Data1.Connect=”Access”Data1.DataBaseName=”c:\选课.mdb”Data1.RecordSource=”专业表”或者Data1.Connect=”Access”Data1.DataBaseName=”c:\选课.mdb”Data1.RecordSource=“Select*from专业表where专业=‘计算机’”

11.4使用DAO访问数据库

4例11‑3利用连接Foxpro数据库,假设Foxpro数据库文件存放在“d:\fox”目录下。表文件为“学生.dbf”。

Data1.Connect=”FoxPro3.0;”Data1.databaseName=”c:\fox”Data1.RecordSource=”选课.dbf”

(4)RecordSetType:设置记录集类型,包括表类型记录集、动态类型记录集、快照类型记录集3种。(5)ReadOnly:设置是否可以修改数据库中的数据。(6)Exclusive:该属性用于控制被打开的数据库是否允许与其他应用程序共享。(7)BOFAction和EOFAction属性:当记录指针指向RecordSet对象的开始(第一条记录)或结束(最后一条记录)时,数据控件要采取的操作。11.4使用DAO访问数据库

42.数据控件的常用事件(1)Reposition事件:当记录集指针从一条记录移动到另一条记录时,将发生重定位事件。因而利用该事件,用户可以对当前记录进行处理。(2)Validate事件:当要移动记录指针前,修改与删除记录前或卸载含有数据控件的窗体时触发3.数据控件的常用方法(1)Refresh方法:用于“刷新”Data控件的属性设置。例如,重新设置了控件的Connect、DatabaseName、RecordSource、ReadOnly等属性值后,必须调用Refresh方法使所作的更改生效。(2)UpdateRecord方法:可以将数据从数据库中重新读到被数据控件绑定的控件内。(3)UpdateControls方法:可以强制数据控件将绑定控件内的数据写入数据库中而不再触发Validate事件。在代码中用该方法确认修改。11.4使用DAO访问数据库

411.4.3RecordSet对象的属性和方法数据绑定控件连接好数据库,可以对表中的记录进行操作,对数据库的操作主要包括增加、修改和删除记录,这些都要通过记录集对象来完成。记录集是一种访问数据库的工具。可以将一个或几个表中的记录构成记录集(和表类似),用户可以根据需要通过使用记录集对象选择数据。1.记录集类型的属性RecordSetType有3种取值:0-表类型(Table)1-动态类型(Dynaset)2-和快照(Snapshot)11.4使用DAO访问数据库

4属性名称含义AbsolutePosition返回当前指针值,如果是第1条记录,其值为0BOF判断是否在首记录之前。EOF判断是否在末记录之后。NoMatch如果未找到相匹配的记录,则为True否则为FalseRecordCount返回记录集的记录总数3.Fields属性Fields.Count:返回记录集中的字段个数。例如:Data1.Recordset.Fields.CountFields(Item).子属性:子属性Value返回指定字段的值,Name返回指定字段的名称,Size返回指定字段的长度,Type返回指定字段的类型代码。例如

Data1.Recordset.Fields("院系名称").Value

Data1.Recordset.Fields(0).Value

11.4使用DAO访问数据库

42.记录集属性4.记录集方法(1)Move方法组:数据控件.记录集.Move方法(2)Find方法组:数据控件.记录集.Find方法(3)Seek方法组:数据控件.记录集.seek比较式,Key1,Key2……(4)数据记录的维护:数据控件.记录集.方法名方法名称含义MoveFirst将记录集指针移动到第一条记录MovePrevious将记录集指针移动到上一条记录MoveNext移动记录集指针到下一条记录MoveLast移动记录集指针到最后一条记录11.4使用DAO访问数据库

411.4使用DAO访问数据库

4方法名称含义FindFirst查询符合条件的第一条记录FindLast查询符合条件的最后一条记录FindNext查询符合条件的下一条记录FindPrevious查询符合条件的前一条记录方法名称含义Open打开记录集AddNew向记录集增加一条新记录Edit对记录集进行编辑,修改完后要用Update更新Update如果增加或修改记录后,必须用此方法更新,将缓冲区里的内容写入数据库CancelUpdate缓冲区的内容不写入数据库Delete从记录集中将当前记录删除,在删除后移动记录指针,操作不可恢复Close关闭Recordset对象以便释放所有关联的系统资源。11.4.4数据绑定控件数据库连接组件不能在窗体中显示数据,为了将数据显示在窗体中,还需与应用程序中的数据绑定控件相连接,从而实现对数据库的操作。所谓数据绑定控件是一些能够和数据库中的数据表的某个字段建立关联的控件。以下列表是本书所介绍的可作为数据绑定控件的常用控件(左)和Active控件(右)。TextBox文本框控件Label标签控件ListBox列表框控件ComboBox组和框控件CheckBox复选框控件PictureBox图片框控件Image图像控件OLE容器控件11.4使用DAO访问数据库

4DBGrid数据库表格控件DBList数据库列表控件DBCombo数据库组合控件DataGrid数据表格控件DataList数据列表控件DataCombo数据组合控件MSFlexGrid数据库表格控件11.4.5Data控件示例例11‑4在“选课”数据库中创建“院系表”,并创建一个窗体实现对院系表数据的维护,包括实现数据移动(首条、上一条、下一条、末条),数据维护(增加、编辑、删除)以及结束程序的功能。设计窗体如图11‑15所示,运行窗口如图11‑16所示。11.4使用DAO访问数据库

4ActiveX数据对象(ActiveXDataObject,

ADO)提供了更加简明的数据访问对象模型,是一种建立在被称为OLEDB的数据访问接口之上的高性能的、统一的数据访问对象,能够处理任何类型的本地或远程数据。ADO技术在VB数据库程序中获得了广泛的应用。11.5使用ADO访问数据库511.5.1ADO对象模型ADO采用了OLEDB的数据访问模式。它是数据访问对象(DAO)、远程数据对象(RDO)和开放数据库互联(ODBC)三种方式的扩展。不论是存取本地的还是远程的数据,ADO都提供统一接口。ADO定义的可编程的分层对象集合包括Command对象:包含关于某个命令,例如查询字符串、参数定义等的信息。Connection对象:包含关于某个数据库提供程序的信息Error对象:包含数据提供程序出错时的扩展信息。Field对象:包含记录集中数据的某个单列的信息。Parameter对象:包含参数化的Command对象的某个参数的信息。Property对象:包含某个ADO对象的提供程序定义的特征Recordset对象:包含某个查询返回的记录。11.5使用ADO访问数据库511.5.2ADO数据控件ADOData控件是ActiveX数据对象。由于ADOData控件不是VisualBasic的内部控件,因此在使用之前必须将其添加到控件箱中去。在控件箱上添加“MicrosoftADODataControl6.0(OLEDB)”项。

属性说明ConnectionString设置或返回字符串值,用来建立到数据源的连接信息。该字符串有一系列”argument=value”形式的参数构成,参数说明如下:Provider=[数据源驱动]DataSource=[数据源名称(含路径)]RemoteProvider=[打开客户端连接时使用的数据源驱动]RemoteServer=[服务器的路径名称]CommandType设置或返回整常数,指出命令类型。常数及其意义如下。1—AdCmdTxt命令文本内容为SQL语句2—AdCmdTable命令文本内容为表名3—AdCmdStoreProc命令文本内容为存储过程名4—AdCmdUnknow命令文本内容类型未知RecordSource指定记录集的一个字符串表达式。EOFAction记录集事件,同上一节的Data控件的同名属性。11.5使用ADO访问数据库511.5.3ADO控件示例例11‑5在“选课”数据库中创建“课程表”,为“课程表”编写维护界面,能够实现“课程表”数据的浏览(首条、上一条、下一条、末条)和编辑(添加、修改、删除、退出),设计窗体和运行窗口如图所示。11.5使用ADO访问数据库511.5.4数据窗体向导VisualBasic提供的数据窗体向

温馨提示

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

评论

0/150

提交评论