《Visual Basic概述》-第9章 数据库程序设计_第1页
《Visual Basic概述》-第9章 数据库程序设计_第2页
《Visual Basic概述》-第9章 数据库程序设计_第3页
《Visual Basic概述》-第9章 数据库程序设计_第4页
《Visual Basic概述》-第9章 数据库程序设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

9.1数据库应用举例使用VB可以方便地处理和保存各式数据,使用方法与第8章的文件系统所介绍的方法类似。但当数据量太大时,仅用VB将会使程序的运行效率和数据管理能力变得极低。如果能有效利用现有数据库管理软件的存放和数据,如微软Office系列中的Access,使用VB作为数据库开发工具,则能方便地设计出直观、优美的用户界面,并能高效、简便地实现数据的存储和管理。假设某校要建立一个学生名册管理系统,功能描述如下:(1)建立一个学生信息档案库,结构如图9-1所示。(2)要求实现信息的添加、保存、修改、取消和查询功能。用户界面如图9-2所示。返回9.2

数据库的建立为了实现第9.1节中学生名册管理系统的功能,其数据要按照一定的表格格式存储,即按表的行、列方式将相关信息排列成逻辑组。表中每一行称为记录,每一列称为字段。多个字段构成记录,多个记录构成表,多个表构成数据库,即数据库就是由多个表构成的数据集合。下一页返回9.2

数据库的建立9.2.1建立数据库结构使用Access建立数据库的具体步骤如下:(1)启动MicrosoftAccess,出现如图9-3所示的界面。(2)在“新建数据库”中选择“Access数据库”,单击“确定”按钮,出现如图9-4所示的界面)(3)打开“保存位置”下拉列表,选择合适文件夹,在“文件名(N)”文本框中输入文件名,本例文件名为“学生基本信息”,即数据库名为学生基本信息。单击“创建”按钮,出现如图9-5所示的窗口。(4)单击“新建”按钮,弹出“新建表”对话框,如图9-6所示。下一页返回上一页9.2

数据库的建立(5)选中“表向导”,按“确定”按钮,出现如图9-7所示的界面。(6)在“示例表:”中选择学生,在“示例字段:”中选择学生ID、姓氏、地址、邮政编码、电话号码及学号,单击“下一步”按钮,出现如图9-8所示的界面。(7)在“请指定表的名称:”框中输入学生基本信息,再单击“下一步”按钮,出现如图9-9所示的界面。(8)选择“修改表的设计”,同时单击“完成”按钮,学生基本信息表建立完毕,进入修改表设计界面,如图9-10所示。下一页返回上一页9.2

数据库的建立9.2.2修改数据库结构通过表向导建立数据库的表的结构、字段名称及字段属性并不能保证完全满足设计要求,因此,在图9-9界面中,选择“修改表的设计”,单击“完成”按钮后,直接进入如图9-11所示的界面中加减字段,也可以修改字段的属性。如表9-1所示为数据表结构设置。下一页返回上一页9.2

数据库的建立9.2.3记录输入与保存单击图9-5中的“打开”按钮,即可输入记录。本例输入记录如图9-12所示。Access2000与VB6.0之间存在兼容性的问题,用Access2000建立的数据库不能直接被VB6.0访问,所以在保存数据库时必须先转化。具体操作步骤如下:(1)选择“工具”|“数据库实用工具”|“转换数据库”|“早期Access数据库版本”命令,如图9-13所示。下一页返回上一页9.2

数据库的建立(2)在随后出现的对话框中输入数据库名称(本例中使用studentdate),单击“保存”按钮,此时经过转换,进入VB6.0用户界面,使用VB6.0的数据库捆绑控件即可直接访问、设计和实现。注意:转换后的文件名不能与现存的文件名相同,或可以同名但需改变文件的存放位置。下一页返回上一页9.2

数据库的建立9.2.4使用数据库控件读取数据库打开VB6.0用户界面,建立如图9-14所示的用户界面。在图9-14所示的用户界面中,Adodc1是数据库访问控件,它代替了旧的Data控件。Microsoft提供的OLEDB,即一组“组件对象模型”(COM)接口,解决了以统一的方式访问存储在不同信息源中的数据的问题。ActiveXDataObjects(ADO)是VB中连接应用程序和OLEDB的桥梁。下面简要介绍Adodc数据访问控件的建立和应用。具体操作步骤如下:下一页返回上一页9.2

数据库的建立(1)当如图9-14所示的用户界面除Adodc1以外的控件建立完成后,选择“工程”|“部件”命令,弹出如图9-15所示的界面)(2)勾选“MicrosoftADODataControl6.0(OLEDB)”复选框,如图9-15所示,单击“确定”按钮,即在控件面板上添加了Adodc控件,将该控件拖入到图9-14所示的用户界面中,用户界面即建立完毕。(3)在Adodc1控件的属性窗口中,将鼠标移到ConnectionString窗口中,出现浏览图标

,单击该图标,出现如图9-16所示的界面。(4)在图9-16界面中选择“UseConnectionString”选项,单击"Build"按钮,出现如图9-17所示的界面。下一页返回上一页9.2

数据库的建立(5)选择“MicrosoftJet4.0OLEDBProvider”选项,单击“下一步”按钮,出现如图9-18所示的数据库选择界面。(6)单击图9-18界面中的“测试连接”按钮,若连接成功,弹出如图9-19所示的连接成功提示。(7)层层单击“确定”按钮,退回到Adodc1控件的属性窗口中,在Con-nectString窗口中会出现数据库的连接路径。(8)在Adode1控件的属性窗口中,将鼠标移到RecordSource中,单击“浏览”图标,出现如图9-20所示的界面。按照界面所示选择“CommandType"的下拉列表,并连接数据库表,本例中表名为“学生基本信息”。下一页返回上一页9.2

数据库的建立(9)设置文本框控件,Text1(0)的属性设置为:数据源DataSource属性选择为“Adode1",DataField属性选择为“学号”对应字段,如图9-21所示。Text1(1)~Text1(6)的DataSouree属性依然选择为“Adodc1”,DataField属性分别选择“姓名”、“性别”、“出生日期”、“家庭住址”、“电子邮箱”和“电话”对应字段。将文本框对应至合适的数据库字段后,无论移动数据库记录指针到何处,文本框都将自动显示数据指针所指的记录内容。下一页返回上一页9.2

数据库的建立(10)将Adodc1控件的Visible属性设为True,使程序运行时Adodc1控件显示在用户界面上。(11)其他设置:根据喜好选择背景、字体等其他属性值。(12)此时,该界面已经与数据库连接起来了,单击“运行”按钮,即可显示数据库中的记录,如图9-22所示。下一页返回上一页9.2

数据库的建立9.2.5搜索指定的记录VB提供了Find方法用于搜索特定的数据。下面将完成“搜索f"按钮的设具体步骤如下:(1)双击“搜索”按钮,进入命令编辑界面,输入程序代码如下:PrivateSubCommand1Click()

‘搜索DimmynumherAsStringmynumber=InputBox$(“请输入学号(4位)”,”学号搜索”)‘输入搜索的学号下一页返回上一页9.2

数据库的建立Adodc1.Recordset.MoveFirst'将记录移至第一条Ifmynumber<>””Thenmynumber=”学号=”&mynumber&””‘组合搜索字符串

Adodc1.Recordset.Find(mynumber)‘寻找符合学号的记录下一页返回上一页9.2

数据库的建立IfAdodc1.Recordset.EOFThen

‘没找到,输出提示信息

MagBox”没有该学生!”EndIfEndIfEndSub(2)运行程序,出现图9-23所示的输入框。输入学号1002,结果显示如图9-24所示,即给出了相符的学生信息。输入学号1111,出现如图9-25所示的信息框,提示在数据库中没有该记录,并在输出界面显示第一条记录。下一页返回上一页9.2

数据库的建立9.2.6结束、删除1.删除记录(1)DataControl控件中的Recordset对象提供了一种删除记录的方法—Delete,即删除记录的核心操作是Adodc1.Recordset.Delete。同时,Recordset对象还提供了4种移动指针的方法:MoveFirst(移到第一组记录)、MovePrevious(移到上一组记录)、MoveNext(移到下一组记录)和(移到最后一组记录)。下一页返回上一页9.2

数据库的建立为在删除前给用户一些提示和确认的机会,可以在删除前加上提示信息,程序如下:PrivateSubCommand3Click()‘删除DimsAsStrings=MsgBox(“确定要删除吗?”,vbQuestion+vbOKCancel,“确定删除!”)

‘创建删除确认窗口If

s=1Then

‘确定删除一条记录Adodc1.Recordset.Delete

‘删除记录Adodc1.Recordset.MoveNext

‘移至下一条记录下一页返回上一页9.2

数据库的建立IfAdodc1.Recordset.RecordCount>0Then

‘是否还有记录

IfAdodc1.Recordset.EOFThen

‘是否移记录指针到尽头

Adodc1.Recordset.MoveLast‘移至最后一条记录

EndIfEndIfEndIfEndSub运行程序时显示界面如图9-26所示。下一页返回上一页9.2

数据库的建立单击“删除”按钮,屏幕出现删除提示窗口,如图9-27所示,此时用户就可以进行删除操作。注意:程序中运用了Recordset对象的一个属性EOF,表明是否记录指针指向数据文件尾端,返回结果是True/False两个值。(2)VB还提供了OnErrorGoTo语法,目的是为了在程序运行时,一旦发生错误,可以通过该程序代码,将程序运行流程切换至合适位置,并进行适当的处理,以避免死机。运用OnErrorGoTo语法,当程序死机时,将自动转向GoTo后标号,如delerr处,并给出相应的出错信息。程序如下:下一页返回上一页9.2

数据库的建立PrivateSubCommand3Click()

‘删除

DimAsStringOnErrorGoTodelerrs=MsgBox("确定要删除吗?”,vbQuestion+vbOKCancel,“确定删除!”)‘创建删除确认窗口If

s=1Then

‘确定删除一条记录Adodc1.Recordset.Delete

‘删除记录Adodc1.Recordset.MoveNext

‘移至下一条记录

IfAdodc1.Recordset.RecordCount>0Then‘是否还有记录下一页返回上一页9.2

数据库的建立IfAdodc1.Recordset.EOFThen‘是否移记录指针到尽头Adodc1.Recordset.MoveLast

‘移至最后一条记录

EndIfEndIfEndIfExitSubdelerr:下一页返回上一页9.2

数据库的建立MaffBoxErr.DescriptionEndSub2.结束程序VB提供了End方法,可以结束程序运行。程序如下:PrivateSubCommand6Click()EndEndSub下一页返回上一页9.2

数据库的建立9.2.7添加、取消、保存1.添加记录一般地,“添加”记录按钮的功能实现流程为:单击添加按钮,程序即清除目前的数据显示,之后,建立一组空白记录数据,等所有数据输入完毕后,再执行保存功能,将记录保存到数据库中。程序具体如下:下一页返回上一页9.2

数据库的建立PrivateSubCommand2Click()DimiAsIntegerOnErrorGoToapperrAdodc1.Recordset.AddNew‘添加新纪录Fori=0To6Text1(i).Text=“”‘清除数据窗口Next下一页返回上一页9.2

数据库的建立Text1(0).SetFocus

‘将焦点设置在Text1(0)savecancelExitSubapperr:MagBoxErr.DescriptionEndSub使用类似方法也可以修改记录,只要运用Adodc1.Recordset的Edit方法,且在该方法后将焦点设置在Text1(i)处即可。当单击“添加”按钮时,程序界面如图9-28所示。下一页返回上一页9.2

数据库的建立2.取消数据写入。有时,在进行某些操作后,因为某些因素不希望保存,此时就要执行取消操作,DataControl控件提供了CancelUpdate方法,协助完成取消操作。程序如下:PrivateSubCommand5Click()OnErrorGoTocancelerrAdodc1.Recordset.CancelUndateinitialbuttonExitSubcancelerr:MagBoxErr.DescriptionEndSub下一页返回上一页9.2

数据库的建立3.保存记录当进行了添加或修改之后,就需要对所做的操作进行保存,即将信息写入数据库。可以使用Adodc1.Recordset对象的Update方法将数据写入数据库。依据此方法写入数据库时,并不对新数据进行排序,此时可以使用Adodcl的Refresh方法重新排序。OnErrorGoToupdateerr和updateerr;MsgBoxErr.Description均是错误处理方法,与前雷同。具体程序如下:PrivateSubCommand4Click()DimaAsStringOnErrorGoToupdateerr下一页返回上一页9.2

数据库的建立Adodc1.Recordset.UpdateAdodc1.RefreshinitialbuttonExitSubupdateerr:MsgBoxErr.DescriptionEndSub下一页返回上一页9.2

数据库的建立9.2.8命令按钮状态编辑在完成主要功能设计之后,必须要考虑到对命令按钮有效状态的设计,才能使程序有效运行。本例中的命令按钮有6个,在执行不同的操作功能时,其有效性是不同的,例如,当程序启动时,在没有任何修改数据库操作执行时,“保存”和“取消”按钮为失效,其余4个按钮均为有效。1.按钮状态分配现将这6个按钮的状态进行如下分配:(1)程序启动时,“搜索”、“添加”、“删除”及“结束”按钮为有效,“保存”和“取消”按钮为失效。下一页返回上一页9.2

数据库的建立(2)当单击“添加”按钮时,“搜索”、“删除”及“结束”按钮为失效,而“保存”和“取消”按钮为有效。(3)其他按钮思路同“添加”按钮。2.操作过程本例中,将有两个命令状态设置过程,一个是“savecancel",将“搜索”、“添加”、“删除”及“结束”按钮全部设为失效,“保存”和“取消”按钮设为有效,用于保存已做的修改或取消已做的修改。另一个是“initialbutton",只有“添加”及“结束”按钮有效,“搜索”、“删除”、“保存”和“取消”按钮失效,用于在数据库无记录时的命令状态定义。下一页返回上一页9.2

数据库的建立具体步骤分为如下几步。(1)选择“工具”|“添加过程”命令,出现如图9-29所示的对话框。(2)在“Name:”文本框中输入“savecancel”,单击“OK”按钮即添加了PublicSubaavecancel()。同样添加PublicSubinitialbutton()。(3)程序如下:PublicSubsavecancel()Command1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=FalseCommand4.Enabled=True下一页返回上一页9.2

数据库的建立Command5.Enabled=TrueEndSubPublicSubinitialbutton()IfAdodc1.Recordset.RecordCount=0ThenCommand1.Enabled=FalseCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5nabled=FalseCommand6.Enabled=True下一页返回上一页9.2

数据库的建立ElseCommand1.Enabled=TrueCommand2.Enabled=TrueCommand3.Enabled=TrueCommand4.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=TrueEndIfEndSubPrivateSubFormActivate()下一页返回上一页9.2

数据库的建立initialbuttonEndSubPublicSubsavecancel()Command1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=FalseCommand4.Enabled=TrueCommand5.Enabled=TrueCommand6.Enabled=FalseEndSub下一页返回上一页9.2

数据库的建立为简化Adodc1数据库连接和属性设置,可以添加一个SubFormLoad

温馨提示

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

评论

0/150

提交评论