ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:365.36KB ,
资源ID:27797768      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27797768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB数据库详解.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VB数据库详解.docx

1、VB数据库详解11.1 数据库(DateBase)的基本概念一、概念与术语目 前几乎所有的应用程序都需要存放大量的数据,这些大量数据一般都需要经过数据收集、分析后,整理成一定的组织结构,通过数据库管理系统来进行管理。数据库 管理系统提供了数据在数据库内存放方式的管理能力,使程序设计人员在使用数据库时不需要考虑数据的具体操作及数据之间的关系.数据库是一组排列成易于处理和读取的相关信息的集合。数据库按其模型结构可分为层次数据库、网状数据库和关系数据库。其中关系数据库的理论发展最为完备,因此到目前为止关系数据库的应用最为广泛。Visual Basic默认的数据库为微软的Access数据库,可在Vis

2、ual Basic中利用数据库管理器直接创建,数据库文件的扩展名为.MDB。除此之外,Visual Basic还可以处理各种外部数据库,如dBASE、FoxPro、Paradox、Btrieve、Microsoft Excel、Lotus1-2-3、Text等格式的数据库,甚至其它非关系的数据库,VB在调用这些数据时,都会自动将其转换为关系型的数据库来操作.1数据表(Table)数据表是一组相关联的按行与列排列的逻辑数据的集合,简称为表。在数据库理论中常用来表示一个实体,每个数据表必须有一个表名,一个数据库一般由多个数据表组成,各个数据表之间一般应存在某种关系。2字段(Field)数据表中的每

3、一列称为一个字段。数据表是由其包含的所有字段构成的,每个字段用来描述它包含的数据。在创建数据表时,必须为每个字段起一个名称一般称为字段名,同时需要为每个字段分配一个数据类型、最大长度和其它属性.3记录(Record)数据表中的每一行称为一条记录。记录是字段值的集合,所有用户对数据的访问对象是记录,因此,如果想对某个数据项进行访问,必须首先进行记录定位,严格的说,在一个数据表中不允许存在两条完全相同的记录。4关键字(Keyword)如果数据表中某个字段值或若干个字段值的集合能唯一确定一条记录,则称该字段或字段的集合为该数据表的关键字.在一个数据表中,关键字可能存在多个,但需选定其中一个作为主关键

4、字.对于数据表中的每条记录来说,主关键字的值必须唯一。5索引(Index)为了提高访问数据库的速度,大多数数据库都使用索引。索引即对数据表中的某个或几个字段的值按某种特定的顺序进行排列。在VB中利用索引可以加快数据检索速度。6结构化查询语言(SQL)SQL(Structure Query Language)是结构化查询语言的缩写,是数据库中通用的数据查询编程语言,它是我们访问数据库的一种利器。在Visual Basic中访问数据库时,就可以利用SQL同数据库进行通讯。二、数据库的设计数据库的设计一般需要借助E R图进行数据建模,然后把整个E-R图中的每个实体和有关的联系,都转化为关系。对每个关

5、系再进行规范化,最后给出各个数据表完成数据库的逻辑设计,对每 个关系来说,在选定的数据库管理系统下,创建数据库、数据表以及它们之间的关系,并输入数据进行测试,完成数据库的物理设计.具体内容请读者参考相关的数 据库理论方面的书籍。11。2 Visual Basic的可视数据管理器Visual Basic 所支持的不同类型的数据库大都可以通过相应的数据库管理系统来建立,如在MS Access中可以建立.MDB的数据库。也可以使用Visual Basic下的数据库管理器来管理数据库。启动数据库管理器有两种方法:(1)在Visual Basic集成环境中,单击“外接程序菜单下的“可视化数据管理器”命令

6、,即可打开可视化数据管理器“VisData”窗口,如图111所示。(2)直接运行Visual Basic系统目录中的VisData.exe程序文件来启动可视化数据管理器。VisData窗口由菜单栏、工具栏、工作区窗口与状态栏组成,刚启动时其工作区窗口为空。图11。21可视化数据管理器窗口一、可视数据管理器的使用使用开可视化数据管理器建立默认数据库Access数据库的步骤如下:1单击“文件菜单下的“新建”菜单项,将出现如图122所示的选择.单击数据库类型菜单中的Access将出现版本子菜单,在版本菜单中选择要创建的数据库版本后,出现如图113所示的窗口。图11.22 “文件”菜单下的“新建”子菜

7、单图11.23 创建数据库窗口2单击“保存”按钮后,将会出现如图11.24所示的窗口。图11。24 数据库窗口与SQL语句窗口3右击数据库窗口,出现如图1.25所示的窗口。图115 数据库窗口4单击“新建表”按钮,即可打开如图11.26所示窗口。即可新建表。图11。26 表结构窗口5然后单击“添加字段按钮,可建立各个字段的属性,最后单击“新建表”按钮,即可建立起表结构.有了表结构后就可对表进行数据的添加、修改和删除等操作。11。3 ADO数据控件一、编写一个简单数据库程序首先介绍Visual Basic所提供的两个控件ADO Data Control(简称ADODC)和DataGrid处理数据

8、库程序的方法。ADO Data Control和DataGrid都属于ActiveX控件,它们在使用前需要先将其添加到工具箱中,以便在工程中使用。单击“工程/部件”菜单项,打开“部件”对话框,选定所需要的控件并确定,即可将其添加的工具箱中,如图11.31所示.图11。31 添加ADODC与DataGrid控件到工具箱在窗体上添加ADODC与DataGrid控件,如图118所示,然后右击ADODC控件,选择其快捷菜单下“ADODC属性”则打开如图119所示的界面。图11。32 窗体窗口图11.33 属性页窗口在上图中,单击生成“按钮,则打开如图11.34所示的数据链接属性窗口。图11.34数据链

9、接属性窗口在图11.34中选中“Microsoft Jet 3。51 OLE DB Provider”,单击下一步按钮,进入如图11。35所示的数据链接属性窗口。【注】Microsoft Jet 3。51OLE DB Provider只能打开Access97下的数据库,不能打开Access2000及以上版本的数据库,如要打开Access2000下的数据库,则必须选用Jet 4。0,否则系统会出错。图11。35数据链接属性窗口在图11.35中,单击“”按钮,选择所要打开的数据库文件后确定,即可单击“测试连接”按钮,测试是否连接成功.如果测试连接成功,则单击“确定按钮后,返回图11.32。【注】如

10、果数据库文件与工程文件保存在同一个文件夹下,则可把上图所示的文件xjgl。mdb前的字符删除,这样生成的程序,在复制到其它计算机上后不需重新对数据库进行连接即可运行。通过以上步骤,我们只是完成了ADODC控件的ConnectionString属性设置,其值如下:Provider=Microsoft。Jet.OLEDB.3。51;Data Source=e:xjglxjgl.mdb;Persist Security Info=False该属性由三个参数组成:然后把ADODC 控件的CommandType属性设置为adCmdTable,接着单击RecordSource属性,可以看到数据库xjgl.

11、mdb下的所有数据表, 单击“基本情况表”。再选定DataGrid控件,只需把DataSource设置为ADODC控件即可,完成程序设计。运行该程序即可对数据库 xjgl。mdb下的“基本情况表”进行浏览。然后把DataGrid控件的AllowAddNew属性设置为True、AllowDelete属性设置 为True、AllowUpdate属性设置为True,再次运行该程序,即可对“基本情况表”进行添加、删除与修改数据操作,到目前为止没有书写一行代 码,就已完成程序设计。二、数据库文件与ADODC、DataGrid的关系1ADODC与数据库文件的关系数据库文件是一种格式十分复杂的文件,对任何一

12、个程序员来说,如果想自行解析文件格式进而存取数据库中的内容,都是一件十分困难的事情.因此VB提供了ADODC控件,其功能是进行数据库文件结构分析,并且根据程序将来可能操作数据库(如:读取、写入、新增、删除等),建立必要的操作接口(包含属性、方法和事件),然后封装成为一个控件。对数据库程序而言,如果通过ADODC控件来存取数据,则不必了解数据库文件格式,只要通过ADODC所提供的操作接口,即可达到存取数据库的目的.数据库程序、ADODC控件与数据库文件三者之间的关系用下图表示:ADODC图11。36数据库文件与ADODC控件的关系2DataGrid与ADODC之间的关系虽然ADODC控件具有存取

13、数据库数据的能力,但却没有提供显示数据的功能,如果想要显示数据库的内容,除了利用ADODC来读取数据之外,还得编写显示数据的程序。1)利用DataGrid来显示数据要使用DataGrid 来显示数据库内容必须设置好它的DataSource属性,这个属性的作用是让DataGrid控件与ADODC控件产生连接关系,也就是告诉 DataGrid控件它所存取的是哪一个ADODC所打开的数据库,接着DataGrid就会自动使用ADODC的接口,将数据库的内容显示出来.其关系 如图11.37:数据库程序图11。37 DataGrid与ADODC控件的关系2)关键属性和参数总结ADODC控件的属性及参数:(

14、1)ConnectionString(连接字符串)属性:该属性有两个重要参数Provider和Data Source。Provider参数:Provider是OLE DB Provider的简称,其主要用途在于指定存取数据库所使用的OLE DB驱动程序。如“Microsoft Jet 3.51 OLE DB Provider”。Data Source(数据源)参数:此参数通常用来指定数据库文件的完整路径和文件名。有了此参数,ADODC控件才能打开指定的数据库文件。(2)CommandType(命令类型)属性:共有四个值:adCmdTable(数据表)、adCmdText(指令)、adCmdSt

15、oredProc(存储过程)、adCmdUnknown(未定义)。(3)RocordSoure(记录源)属性:指定确定的表。DataGrid控件的属性:(1)DataSource(数据源)属性:由于DataGrid控件并不直接存取数据库中的数据,因此必须将其属性设置成某一个ADODC控件,DataGrid控件才能具备存取数据库的能力.(2)AllowAddNew(允许新增)属性:若允许用户新增数据,须将此属性设置为True。(3)AllowDelete(允许删除)属性:若允许用户新增数据,须将此属性设置为True。(4)AllowUpdate(允许更新)属性:此属性的默认值为True。三、Vi

16、sual Basic中与数据库中相关的对象就像数据库是有组织结构的一样,VB所提供的数据库对象也是有组织的,而且与数据库的组织结构有着很好的对应关系。1。Field对象与字段字段是数据库中最小的数据单位。在VB所提供的对象中,与字段对应的对象是Field,我们从Field对象的以下属性可以得知字段的相关信息:Name属性:字段的名称Value属性:字段的数据Name属性Field对象学号姓名年龄1001张三18Value属性2。Fields集合对象与数据记录对VB所提供的对象而言,Field对象的集合构成Fields集合对象,所以Fields集合对象可以视为与数据库记录对应的对象。Fields

17、对象编号:012学号姓名年龄1001张三18Fields(0)Fields(1)Fields(2)共同构成Fields集合对象由于Fields是一个集合对象,所以可以利用Count属性得知某一个Fields集合对象中的Field对象的数目,并可利用下面的方法显示集合中的Field对象的内容,如:For i=0 to fds。Count1fds为一个Fields集合对象Debug.Print fds(i).Name显示字段名称Debug.Print fds(i)。Value显示字段数据内容Next3.Recordset对象与数据记录集合Visual Basic中与数据表对应的对象称为Record

18、set对象,先介绍“当前数据记录的概念.1)由于数据库无法将整个数据表完全装入到内存中,因此便规定程序每次只能存取一条记录,此记录数据就称为“当前记录数据”。注:虽然程序每次只能存取当前记录数据,但并不表示数据库每次只装入一条记录数据,为了提高执行效率,数据库每次会装入一大段记录数据,但程序存取的动作还是以一条为单位.2)利用Recordset对象改变当前记录数据的方法程序运行后当前记录数据,将定位于第一条记录。若要改变当前记录,程序必须调用Recoedset对象的方法改变当前数据记录,方可存取每一条数据记录,进而达到存取整个数据表的功能。下表为Recoedset对象的几个常用方法。方法说明M

19、oveNext将当前数据记录移到下一条MovePrevious将当前数据记录移到上一条MoveFirst将当前数据记录移到第一条MoveLast将当前数据记录移到末一条EOF当前数据记录是否在最后一条之后BOF当前数据记录是否在第一条之前如图11.38为Visual Basic中几个对象间的关系。11.38ADODC、Recordset、Fields、Field几个对象关系图在上图中位于下方的称为上方对象的子对象。若要存取某一个对象,必须从最上层的父对象向下指定对象的路径.如:Adodc1.RecordsetAdodc1。Recordset.FieldsAdodc1。Recordset.Fie

20、lds(i)11.4 Recordset对象Recordset 对象是数据记录的集合,而数据记录又是字段的集合,因此利用Recordset对象,在程序中就可以存取所有数据记录的每一个字段的数据了,所以说 Recordset对象是存取数据库数据最重要的源头。在数据库的程序设计中,Recordset对象是最为重要的对象。一、Recordset与数据表的存取前面介绍几个改变Recordset对象的当前数据记录的方法MoveNext、MovePrevious、MoveFirst、MoveLast方法,通过这几个方法就可以存取整个数据表的数据.其关系可用图1115来表示。MoveFirstMovePre

21、viousMoveNextMoveLastRecordset对象数据表当前记录以Recordset。Fields来存取图11。41Recordset对象与数据表之间的关系如程序:for I=0 to Adodc1。Recordset。Fields。Count-1Debug.Print Adodc1。Recordset.Fields(i).ValueNext1避免没有当前数据记录的错误利用MovePrevious、MoveNext移到记录指针时,应注意移过头现象发生。所谓移过头是指:指针位于第一天记录时,调用MovePrevious方法.指针位于最后一条记录时,调用Monenext方法.我们可以

22、利用Recordset对象的EOF或BOF属性,来加以判断。BOF及EOB属性的应用:Adodc1。Recordset。MoveFirstWhile Not Adodc1。Recordset.Eofs=”For I=0 to Adodc1。Recordset。Fields。Count-1s=s Adodc1.Recordset.Fields(i).Value vbTabNextList1。Additem sAdodc1.Recordset.MoveNextWendAdodc1。Recordset.MoveNextWhile Not Adodc1.Recordset.Bofs=”For I=0

23、to Adodc1.Recordset.Fields.Count1s=s & Adodc1.Recordset.Fields(i).Value & vbTabNextList1.Additem sAdodc1。Recordset.MovePreviousWend2存取字段数据的几种各数1)Adodc1.Recordset.Fields(i).Value如:Adodc1.Recordset.Fields(0)。Value2)Adodc1。Recordset.Fields(字段名称).Value如:Adodc1.Recordset。Fields(“学号”)。Value3.省略.Value的语句如:

24、Adodc1。Recordset。Fields(“股票代号”)4。省略.Fields的语句如:Adodc1.Recordset(“股票代号)5。Recordset!字段名称字段名称不能加引号【注】Recordset(“字段名称”)最容易书写。二、Recordset与数据记录的增删修改在前面我们使用DataGrid控件的AllowAdd属性和AllowDelete属性设置为True,使它具有修改、增加和删除数据的功能。但大批数据的处理使用该方法不方便,下面介绍Recordset对象修改、增加和删除数据的方法.1删除数据记录首先要将欲删除的记录置为当前记录,然后调用Recordset。Delete

25、方法进行删除。如:Adodc1。Recordset.MoveLastAdodc1。Recordset。Delete删除多条记录时,在Delete方法后加上DoEvents语句.2修改数据记录修改数据记录分两步走,先把数据写到缓冲区,然后再写入数据库。数据写入可调用Recordset.Update方法和使用Move方法.其具体过程如下:方法一:Adodc1.Recordset(“字段名称1”)字段新值Adodc1。Recordset(“字段名称2”)字段新值Adodc1。Recordset。Update方法二:Adodc1.Recordset(“字段名称1”)字段新值Adodc1。Records

26、et(“字段名称2)字段新值Adodc1。Recordset.MoveNextCancelUpdate方法:取消更新的数据除了调用Update方法或改变当前数据记录的位置来使要更新的数据立即写入到数据库中之外,Recordset对象也允许在修改数据记录之后,数据尚未写入数据库之前,将更新的数据撤消,让表中的数据恢复原状,此时调用的方法是CancelUpdate方法。3新增数据记录新增数据记录是先建立一个缓冲区,并将此缓冲区设置为当前记录,然后就可以像修改记录的数据一样,修改当前记录的内容。最后,如果确定要新增该条记录数据,就调用Update方法或移动当前数据记录将数据写入到数据库中;如果要取消

27、新增的记录数据的操作,就调用CancelUpdate方法,其新增记录数据的语句大致如下:Adodc1.Recordset。AddNewAdodc1。Recordser(“字段名称1”)= “新的字段值1”Adodc1。Recordser(“字段名称2”)= “新的字段值2”Adodc1。Recordset。Update 或Adodc1.Recordset。CancelUpdate三、Recordset与数据记录的检索1检索数据记录的方法1)Find方法格式:Recordset。Find Criteria,SkipRows,SearchDirection,Start参数1:Criteria:检索

28、记录数据的表达式。如:“语文85”。该参数的变化相当多,稍后进一步说明。参数2:SkipRows:跳过几条记录开始检索。可省略,若省略其默认值为0,表示从第一条记录开始。参数3:SearchDirection:检索的方向.可以是adSearchForward或adSearchBackward,可以省略,若省略表示向下检索。参数4:Start:开始检索的位置。可省略,若省略表示从当前数据记录开始检索。2)检索结果与当前记录如果调用Find方法后找到符合要求的记录数据,则当前记录将移至被找到的记录,否则当前记录数据变成不存在。可利用Recordset对象的BOF、EOF属性进行判断。2检索数据记录的表达式在Find方法的参数中,变化最多的是Criteria参数,在此作进一步的讨论。1)表达式的基本格式“字段名称比较运算符比较的数据”2)表达式的字段名称表达式字段名称比较符号比较的数据(1)表达式中的“字段名称”必须是数据表中已存在的字段名称。(2)如果字段名称中含有空格字符,则字段名称前后必须加

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1