第十一章vb60数据库编程技术Word下载.docx
- 文档编号:19467388
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:17
- 大小:376.53KB
第十一章vb60数据库编程技术Word下载.docx
《第十一章vb60数据库编程技术Word下载.docx》由会员分享,可在线阅读,更多相关《第十一章vb60数据库编程技术Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
11.2VisualBasic数据库系统
VisualBasic数据库系统由3部分组成:
用户界面、数据库引擎和数据仓库。
其中数据库引擎存在于用户界面和数据仓库之间,起着中介作用,用户通过它与要访问的特定数据库相连。
对于VB所支持的任何数据库格式,所用的数据库编程技术都是相同的。
下面简单介绍数据库的这3个组成部分;
(1)用户界面。
用户界面是进行人机交互的界面,用于查看、显示数据或更新数据。
驱动用户界面窗体的是用VisualBasic编写的代码,这些代码使得用户的澡作能作用到数据库上,如添加或删除记录、执行查询等。
(2)数据库引擎。
VisualBasic缺省的数据库引擎是MicrosoftJet数据库,它包含在一组动态链接库(DLL)中,运行时,这些动态链接库被链接到VisualBasic程序。
数据库引擎的作用是把应用程序的请求翻译成对数据库的物理操作。
(3)数据仓库。
数据仓库是包含数据库表的一个或多个文件。
VisualBasic支持多种数据库,默认的数据库是MicosoftAcess数据库,即.mdb文件。
11.3用数据管理器建立数据库
建立数据库的方式很多,用户既可以使用专门的数据库应用程序,如MicrosoftAcces,来创建数据库,也可以使用VB自带的可视化数据管理器来创建和管理数据库。
可视化数据管理器是VB提供的一种极为方便的数据库设计工具,具有创建数据库、设计与编辑表格等功能。
执行【外接程序】菜单下的【可视化数据管理器】命令即可打开可视化数据管理器,如图11.1所示。
11.3.1创建Access格式数据库使用可视化数据管理器可以创建MicrosoftAccess,Dbase,Foxpro,Paradox,ODBC等多种数据库。
本节将创建一个名称为TelBook的通讯录数据库,其中只包含一个表,名称为TelTable,其结构如表11.1所示。
1.创建数据库。
打开可视化数据管理器的【文件】菜单,指向【新建】子菜单。
在【新建】级联菜单中依次选择MicrosoftAccess,Version7.0MDB,则打开如图11.2所示的对话框。
在该对话框中确定要创建的数据库的文件名和其存储路径,这里选择路径为E;
\,文件名为TelBook.单击【保存】按钮,则在可视化数据管理器中出现了新建的数据库窗口,其中列出了新建的数据库的一些属性,如图11.3所示。
2.创建表。
此时的数据库仅仅是个空壳,除了路径有效外,没有实际内容。
还需要进一步为数据库建立数据表。
在数据库窗口中单击鼠标右键,在弹出的快捷菜单中执行【新建表】命令,即可打开用于创建表的【表结构】对话框,如图11.4所示。
【表名称】文本框中输入数据表的名称为TelTable,接下来就是为表添加字段。
单击【添加字段】按钮,则弹出如图11.5所示的对话框。
在【名称】文本框中输入字段名,同时设置字段的类型及大小等选项。
单击【确定】按钮即可创建出一个字段,它将出现在【表结构】对话框的【字段列表】框中。
接着可以创建下一个字段。
表11.2中列出了【添加字段】对话框中主要选项的含义。
注意:
不能使所有的字段都允许为零长度,在一个表中至少要有一个字段不能为空,这个字段可以作为主关键字,
这里创建5个字段,分别是姓名、电话、手机、传呼和地址,类型均设置为Text,并且长度是可变的,除姓名字段为“必要的”外,其余的字段都设置为“允许零长度”.
添加了字段后的【表结构】对话框如图11.6所示。
3.添加索引。
数据库中表的索引不是必须的,但是它能大大加快查询的速度。
索引字段一般要选择字段值唯一的字段,而且该字段不能为空值。
这里将“姓名”作为表TelTable的索引。
单击【表结构】对话框上的【添加索引】按钮,则弹出如图11.7所示的对话框,在【名称】文本框中输入索引名,同时从【可用字段】列表中选定用作索引的字段,这里选择“姓名”字段,并且选中【主要的】和【唯一的】复选框,这样就将姓名指定为主关键字,在输入记录时,如果输入的姓名相同,将会出错。
单击【确定】按钮返回到【表结构】对话框中,单击【生成表】按钮即可完成数据表的创建,在数据库窗口会出现新创建的表。
用户还可以随时编辑所创建的表,方法是在数据库窗口的表名称TelTable上单击右键,执行弹出的快捷菜单中的【设计】命令即可打开[表结构]对话框,从中可进行添加或删除字段的操作。
需要指出的是,在【表结构】对话框中不能更改字段的类型、大小等设置,不过,用户可以先将其删除,然后重新添加一个新的字段。
4.输入记录。
在完成了数据表TelTable的创建后,就可以向表中输入记录了。
输入的方法可以是以Data控件模式、无Data控件模式或DBGrid控件模式。
这里采用Data控件模式为数据表Te1Tab1e输入记录,具体步骤如下:
(1)单击数据管理器工具栏中的【表类型记录集】按钮和Data控件按钮,这表明以Data控件模式向表中添加记录。
(2)在数据库表上单击右键,执行弹出的快捷菜单中的【打开】命令,则打开添加记录对话框,如图11.8所示。
(3)输入记录后单击【更新】按钮,则弹出消息框,提示用户是否保存新记录,单击【是】按钮即可将记录添加到表中。
(4)单击【添加】按钮可以输入下一个记录。
11.3.2使用数据窗体设计器
可视化数据管理器自带有数据窗体设计器,使用它可以在最短的时间内设计出符合要求的数据库管理应用程序。
本节将利用数据窗体设计器为新建的TelBook数据库设计用户窗体。
设计窗体之前首先要打开要设计的数据库。
如果TelBoo数据库已经被关闭,可通过可视化数据管理器的【文件】菜单中的【打开数据库】选项打开它。
执行【实用程序】菜单中的【数据窗体设计器】命令,可打开【数据窗体设计器】对话框,在【窗体名称】文本框中输入要建立的窗体名称,在【记录源】下拉列表框中选择数据表TelTable,则在【可用的字段】列表中列出表TelTable的所有字段,如图11.9所示。
单击按钮,将所有的字段传到【包括的字段】列表中,该列表中的字段将出现在窗体上。
单击【生成窗体】按钮,就可以在当前工程中添加一个新的数据库窗体,如图11.10所示。
该窗体采用Data控件作为数据源,文本框用来显示和添加记录。
可见,使用数据窗体设计器可以很容易地建立一个数据库应用程序。
将该数据库窗体设置为启动窗体,运行程序后可以通过文本框浏览到数据库中的记录,也可以进行添加、删除、刷新以及更新记录等操作。
11.4使用Data控件访问数据库
Data控件是VB提供的内部控件,使用它可以不编写任何代码就可以对数据库进行访问,从而大大简化了数据库的编程。
此外也可以把Data控件和VisualBasic代码及SQL语言结合起来创建完整的应用程序,为数据处理提供高级的编程控制。
在同一个窗体中可以同时使用多个Data控件,但是每个Data控件只能访问一个数据库。
在设计阶段要为Data控件指定它所要访问的数据库,而且在运行其间不可以更改。
将Data控件放置在窗体上,其外观如图11.11所示,其中显示的文本由它的Caption属性决定,各按钮的功能如下:
11.4.1Data控件的主要属性1.Connect属性。
Connect属性用来指定数据库的类型,VB支持的数据库类型众多,如MicrosoftAccess,Excel、Foxpro等。
其中默认的数据库为Access。
单击Connect属性右边的向下箭头,可下拉出一个Data控件所支持的数据库类型列表,如图11.12所示。
用户可从中选择要操作的数据库类型。
2.DatabaseName属性。
该属性用于设置或返回Data控件所使用的数据库的名称。
3.RecordSource属性。
一个数据库中可能有多个表,RecordSource属性用于指定Data控件所要操作的表。
在设置了DatabaseName属性后,在RecordSource属性的下拉列表中会出现所选数据库中的所有表,用户可以从中选择一个表。
有时RecordSource属性的值也可以不是一个完整的表,而是SQL查询语言的一个查询语句,这样,Data控件可访问的数据将只是查询后的结果。
由RecordSource属性确定的具体可访问的数据构成一个记录集(Recordset),Recordset是一个对象,它具有属性和方法,操作数据库其实就是使用该对象的方法,Recardset对象的两个较重要的属性是B0F和EOF,当BOF属性的值为True时,表明当前位置位于第一个记录之前,当EOF属性的值为True时,表明当前位置位于最后一个记录之后,在操作数据库时,经常要使用这两个属性来判断是否已到达数据库的首录或末记录。
4.RecordseType属性。
该属性用来设置记录集的类型。
记录集共有3种类型,分别是Table(表)、Dynaset(动态集)和Snapshot(快照)。
Table类型是以表格直接显示数据,需要系统资源最多,但是其处理速度最快。
Dynaset类型的记录集可以在表中增加、修改和删除记录,是最灵活的,种记录集类型。
Snapshot类型的记录集只能静态显示数据〔只读),其灵活性最低,但是所需的系统资源最少。
5.Exclusive属性。
该属性的功能是决定Data控件所链接的数据库文件在运行时是否允许其他进程将它打开。
若该属性的值为True,则表明不允许其他进程打开该数据库。
6.ReadOnly属性。
该属性用来决定是否能够通过数据绑定控件来编辑数据库中的记录内容。
该属性的默认值为False,表明用户可以通过数据绑定控件编辑数据库中记录的内容。
7.BOFAction与EOFAction属性。
BOFAction与EOFAction属性用来决定当记录移动超出起点或结束时,程序要执行的操作。
它们的取值及含义如表11.3所示。
11.4.2数据绑定控件Data控件能够操作数据库,但它本身不能显示数据库中的数据,在编写数据库应用程序时,还需要借助其他控件,如文本框等控件来显示数据。
这就需要将文木框等控件与Data控件关联起来甲使之成为Data控件的数据绑定控件。
VB中能够显示数据的控件基本都提供了数据绑定,例如,文本框、标签、图片框等都可以作为数据绑定控件。
VB还提供了专门的数据绑定控件,如DBGrid(数据网格)、DBList(数据列表框)、DBCombo(数据组合框)等。
可以说,Data控件是VB和数据库之间的联系桥梁,而数据绑定控件则把Data控件和用户界面联系起来,两者构成了VB开发数据库的主体。
可以通过设置控件的以下两个属性来使它成为Data控件的数据绑定控件:
1.DataSource属性。
该属性用来指定要与控件绑定的data控件。
在【属性】窗口中选中该属性,然后单击其右边的向下箭头按钮,可在下拉列表中选择当前可用的Data控件。
2.DataField属性。
该属性用来设置控件对应的数据库字段。
在设置了DataSource属性后,DataField属性的下拉列表中,将列出可用的字段。
实例11.1显示TelBook数据库中的数据。
在该实例中,将创建一个简单的数据库应用程序,可以用它来浏览TelBook数据库中的记录。
在窗体上放置5个标签、5个文本框和1个Data控件,如图11.14所示。
其中各对象的属性设置如表11.4所示。
用户不需要编写任何代码,运行程序,一单击Data控件的4个箭头按钮,即可遍览整个数据库中的记录,如图11.15所示。
11.4.3Data控件的常用方法使用Data控件不仅可以浏览数据库中的记录,还能编辑数据库中的记录,这些可以通过Data控件的方法来实现。
1.与浏览有关的方法。
可以使用Data控件的箭头按钮来遍览记录,也可以使用Data控件的Move方法来操作。
表11.5中列出了Data控件的5个Move方法。
2.与查询有关的方法。
使用Find方法可在数据记录集中查找到与指定条件相符的一个记录,并使之成为当前记录。
表11.5中列出了了Data控件的4个Find方法。
这4种Find方法的语法格式相同,例如:
查找记录集中姓名为夏雨荷的第一条记录
Data1.Recordset.FindFirst“姓名=夏雨荷”
查找记录集中姓名为夏雨荷的下一条记录
Data1.Recordset.FindNext“姓名=夏雨荷”
如果条件部分的常数来自于变量,例如由用户在文本框中输入,则条件表达式应该按以下格式书写:
Data1.Recordset.FindNext“姓名=”&
“'
”
&
text1.text&
除了普通的关系运算符外,还可以使用Like运算符来查找匹配某个模式的记录。
例如,要查找住址中带“陕西”的记录,可以用以下语句:
Data1.Recordset.FindFirst“住址Like
陕西”
在调用Find方法时,如果查找到符合条件的记录,则将Data控件定位到这个记录,并将NoMatch属性的值设置为False如果没有找到符合条件的记录,则将NoMatch属性的值设置为True.
例如,可以使用下面代码来告诉用户没有找到所要查找的记录:
Data1.Recordset.FindFirst“传呼”&
IfData.RecordSet.NoMatchThen
MsgBox“记录不存在”,64,“64”
EndIf
3.与编辑有关的方法。
(1)AddNew方法。
该方法将当前记录指向缓冲区,从而可以添加新的记录。
(2)Update方法。
该方法在修改或添加记录后将数据从缓冲区读入数据库。
单击Data控件的箭头按钮、将自动调用}Jpdat}e方法。
在调用AddNew方法添加新记录后,必须调用Update一法来保存新添加的记录,否则所添加的记录无效。
〔3)Delete方法。
该方法用于删除当前的记录。
在删除一条记录后,它并不会自动从数据绑定控件中消失,因此,需要调用Refresh为一法来刷新记录集,以反映最新的变化。
实例11.2创建通讯录。
本实例是对实例11.1的完善,将Data控件的Visible属性设置为False,使之在运行时不可见,而以按钮来操作数据库,使得界面更友好。
并且在该程序中能执行添加、删除与查找记录的操作。
在如图11.14所示的窗体上再放置5个按钮控件、1个组合框控件和1个文本框控件,如图11.16所示,各控件的属性设置如表11.7所示。
编写代码如下:
PrivateSubForm_Load()
CobFind.AddItem“姓名”
CobFind.AddItem“电话”
CobFind.AddItem“住址”
CobFind.AddItem“手机”
CobFind.AddItem“传呼”
EndSub
添加记录:
PrivateSubComAdd_Click()
IfComAdd.Caption“确定”Then
OnErrorGoToerrorhandler
Datal.UpdateRecond
Data1.Recordset.MoveLast
ComFrev.EnabledTure
ComNext.Enabled=Ture
ComDel.Enabled=Ture
ComFind.Enabled=Ture
ComAdd.Caption=“添加”
Else
Data1.Recordset.AddNew
ComAdd.Caption=“确定”
ComFrev.Enabled=False
ComNext.Enabled=False
ComDel.Enabled=False
ComFind.Enabled=False
EndIf
ExitSub
删除记录:
PrivateSubComDel_Click()
DimiAsInteger
i=MsgBox(“真的要删除当前记录吗?
”,52,“警告”)
Ifi=6Then
Datal.Recordset.Delete
Datal.Refrest
下一个
PrivateSubcomnext_Click()
Data1.Recordset.MoveNext
ComPrev.Enabled=True
IfDatal.Recordset.EOFThen
Datal.Recordset.MoveLast
上一个
PrivateSubcomprev_Click()
Data.Recordset.MovePrevious
IfDatal.Recordset.BOFThen
Datal.Recordset.MoveFirst
Comprev.Enabled=False
查询:
PrivateSubComFind_Click()
IfTextFind.Text=“”Then
MsgBox“请输入查询内容!
”,48,“提示”
ExitSub
EndIf
IfCobFind.Text=“姓名”Then
Datal.Recordset.FindFirst“姓名=&
"
'
"
&
TexFind.Text&
'
ElseIfCobFind.Text=“电话”Then
Datal.Recordset.FindFirst“电话=&
ElseIfCobFind.Text=“住址”Then
Datal.Recordset.FindFirst“住址=&
ElseIfCobFind.Text=“手机”Then
Datal.Recordset.FindFirst“手机=&
ElseIfCobFind.Text=“寻呼”Then
Datal.Recordset.FindFirst“传呼=&
运行该程序,窗体如图11.17所示,通过单击【上一个】按钮和【下一个】按钮可遍览所有记录,并且当移动到首记录或末记录后,相应的按钮会自动变为无效。
单击【添加】按钮后,界面如图11.18所示,用户可以在各个文本框中输入新的记录,输入完成后,单击【确定】按钮即可将该记录添加到数据表中。
如果输入的姓名在数据库的记录中已存在,则弹出消息框提示用户记录已存在,不能添加该记录。
单击【删除】按钮可将当前的记录删除,为了防止误删掉某个记录,在删除记录前,会弹出一个消息框询问用户是否真要删除当前记录。
单击【是】按钮将记录删除,单击【否】按钮则取消删除。
在该程序中,可以通过任何。
一种信息来查找记录。
首先,在【查询】按钮下方的下拉列表框中选择一种查询方式,然后在该下拉列表框下面的文本框中输入相应的信息,单击【查询】按钮即可找到与查询条件相符的记录。
例如,在组合框中选择姓名,在文本框中输入“郝春强”,单击【查询】按钮通讯录即显示姓名为“郝春强”的信息:
如果不存在与查询条件相符的记录,则弹出消息框告知用户记录不存在。
在查询记录前如果在文本框中没有输入任何内容,也会弹出消息框提示用户。
11.4.4DBGrid(数据网格)控件在上例中,每次只可以浏览一条记录,如果要同时在窗体上显示多条记录,则可采用VB提供的DBGrid控件。
DBGrid控件可增强程序的功能和灵活性,它不仅可以显示记录,还具有编辑功能,例如,进行添加、修改、删除一记录等操作。
DBGrid控件是一个ActiveX控件,在【部件】对话框中选择添加MicrosoftDataBoundGridControl选项,即可将该控件添加到工具栏中。
DBGrid控件的主要属性如下:
(1)DataSource属性。
该属性用来设置所要绑定的Data控件。
(2)AllowAddNew,AllowDelete和Al1owUpdate属性这几个属性分别用来决定是否可以添加、删除与更新记录,值为Ture表示可以。
AllowAddNew和AllowDelete属性的默认值为False而,AllowUpdate属
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十一 vb60 数据库 编程 技术