用VB开发数据库应用程序基本理论.ppt
C/SVB数据库应用系统开发,数据库应用系统结构Visual Basic快速入门开放数据库连接(ODBC)数据访问接口(ADO)VB数据库编程举例VB开发数据库应用系统实例分析,数据库应用系统结构,集中式结构文件服务器结构客户/服务器结构浏览器/服务器结构分布式数据库结构,集中式结构,数据库服务器,文件服务器结构,客户/服务器结构,本章讲解VB程序开发,上课环境:服务器和客户端为一机,浏览器/服务器结构,客户端,应用程序,数据库,数据库服务器,请求,页面,个人机1,个人机N,个人机2,互联网计算环境下的数据库访问,请求,结果,Web服务器,浏览器,浏览器,浏览器,HTML+Vbscript+ASP,Visual Basic快速入门,Visual Basic6.0的启动Visual Basic集成式开发环境对象、属性和方法控件事件驱动的程序设计界面设计(窗体、菜单与工具栏)工程资源管理器VB设计程序的一般步骤Visual Basic语言简介,Visual Basic6.0的启动,Visual Basic集成式开发环境,菜单栏工具栏工具箱窗体设计器工程资源管理器属性窗口窗体布局窗口立即窗口,工具箱,菜单栏,工具栏,属性窗口,工程资源管理器,窗体布局窗口,立即窗口,窗体设计器,菜单栏:包括13个下拉子菜单 包含使用Visual Basic6.0所需要的命令。,文件:包含了与访问文件有关的菜单项。主要功能有新建工程、打开工程、保存工程、生成工程等。编辑:包含了与编辑代码、控件等有关的菜单项。视图:包含了显示或隐藏Visual Basic6.0的各种窗口的菜单项,如代码窗口、对象窗口、属性窗口、工具栏等。工程:包含了与工程管理有关的菜单项。如向工程添加窗体、模块,以及从工程中移除部件等。格式:包含了编辑用户界面时调整控件的菜单项。如对齐控件、统一大小、锁定控件等。调试:包含了常用的调试应用程序的菜单项。运行:包含了启动、中断、暂停应用程序的菜单项。查询:包含了操作数据库表时的查询及其他数据访问命令的菜单项。图表:包含了相关的图表处理菜单项。工具:包含了向模块和窗体添加过程、过程属性,向窗体添加菜单及设置Visual Basic6.0集成开发环境等菜单项。外接程序:包含了与操作和管理外接程序相关的菜单项。如为工程增加和删除外接程序等。窗口:包含了与屏幕布局窗口相关的菜单项。帮助:提供相关的帮助信息。,工具栏:工具栏中列出了Visual Basic6.0最常用的操作。,工具箱,用户可以利用这些工具在窗体上设计各种控件。可以通过“工程”菜单栏的“部件”菜单项加入扩充控件(Active X控件)。,窗体设计器,窗体设计器在设计Visual Basic6.0应用程序的过程中,界面设计是最基本的工作。窗体是设计应用程序的界面的地方。每个窗体设计器窗口只容纳一个窗体。在开发应用程序时可以使用多个窗体,窗体窗口也就有多个。每一个窗体都有与其他窗体不同的名字,系统默认窗体名称依为Form1、Form2、Form3 对于每个窗体,窗体设计器显示两个窗口:对象窗口(用户接口元素,包括窗体和控件)代码窗口(程序代码),对象窗口,代码窗口,工程资源管理器窗口,工程是指建立一个VB应用程序时所包含的文件的集合。工程资源管理器窗口可以对当前使用的工程进行管理,可以添加、删除各个组成部分,可以快捷地在代码和界面之间进行切换,对整个工程进行宏观的控制。,属性窗口,属性窗口:在进行界面设计时,窗体和控件的标题、大小字体等特征是由它的属性所决定的,所有窗体和控件都要进行属性设置。可以通过属性窗口来进行属性设置。属性窗口主要由四个部分组成。,(1)对象列表框:包含了所选窗体的对象列表,用户可以单击对象列表框右边的箭头,查看并选择对象。(2)属性排列显示方式:有两个选项卡,用户可以选择“按字母序”和“按分类序”两种方式排列显示属性。(3)属性列表框:列出所选对象可以设置的属性及其默认值。不同的对象,所列出的属性不同。属性列表框分为左右两列,左边是各种属性的名称,右边是相应的属性值。用户可以在左边选择某种属性,在右边设置或修改属性值。(4)属性含义说明:当在属性列表框中选择某种属性时,在属性含义说明框中显示所选属性的含义。,窗体布局窗口,窗体布局窗口用于指定程序运行时的初始位置,主要使所开发的应用程序能在各种不同分辨率的显示器上使用,在多窗体应用程序中较有用。在窗体布局窗口中,可以使用拖动鼠标的方法更改单个或多个窗体的位置,同时观察多个窗体的相对布局。,立即窗口,立即(Immediate)窗口是辅助差错窗口。,对象、属性和方法,面向对象的程序设计对象属性方法,面向对象的程序设计,面向对象(Object)的设计方法把系统中的所有资源(数据、模块以及系统)都看成对象。对象是一个功能和数据独立的单元,它有其自身的属性和方法。一般来说属性描述对象的性质;而方法说明对象的动作。,对象,Visual Basic是一种面向对象的语言。将数据和处理该数据的过程(函数和子程序)打包在一起而生成的新的数据类型称之为对象。在Visual Basic中,窗体、菜单和控件都是对象。窗体是Visual Basic应用程序中的顶层对象,每个应用程序都是从窗体开始的。窗体用来定制应用程序的界面,构成用户接口的所有控件的容器。控件是由系统预先定义好的,在程序中可以直接使用的一类对象,是用户对象的图形表示。控件的类型主要包括命令按钮控件、文本框控件、列表框控件、组合框控件、滚动条控件、公共对话框控件等。,属性,若把Visual Basic中的对象看作名词,那么属性便是它的形容词。属性可看作对象的静态特性。程序运行时,通过对这些属性的改变,使对象的状态发生变化。所有Visual Basic6.0程序中的对象都有许多属性,它们是用来描述和反映对象特性的参数。例如,文本框的属性包括BackColor、ForeColor、Enabled、Height、Width、Left、Top,Name等属性。要更改一个对象的属性,可以修改属性的值。,属性的设置,在Visual Basic6.0中,对象属性的设置有两种方法:在属性窗口直接设置。在程序代码中通过赋值实现,格式如下:对象名.属性=属性值 当对象是当前窗体时,对象名可省略。例如:Form1.Backcolor=&H000000FF 表示窗体对象Form1的背景色属性值为&H000000FF,即红色。,方法,对象的动作和行为称为对象的方法。方法就像动词。例如,窗体的显示或隐藏就是窗体对象的方法。例:在显示在窗体语句 Form1.show 中show表示方法。,控件,控件分类常用的内部控件将Active X控件添加到工具箱中将可插入的对象控件添加到工具箱中,控件分类,Visual Basic6.0中的控件通常分为三类:内部控件:在默认状态下,工具箱中的控件都是内部控件。这些控件被“封装”在Visual Basic6.0的EXE文件中,不可从工具箱中删除。注意:有的控件没有图形表示,如时钟(Timer)控件。Active X控件:这类控件单独保存在.Ocx类型的文件中,其中包括各种版本Visual Basic6.0提供的控件,还有仅在专业版和企业版中提供的控件。此外,还有许多其他软件供应商提供的Active X控件。可插入的对象:用户可将Excel工作表或者PowerPoint幻灯片等作为一个对象添加到工具箱中,编程时可根据需要随时建立。,内部控件1,内部控件2,将Active X控件添加到工具箱中,新添的Active X控件,将可插入的对象控件添加到工具箱中,新添的幻灯片对象控件,事件驱动的程序设计,事件的概念VB中的对象、事件与事件过程编写对象代码的具体操作步骤事件过程语法结构,事件的概念,Windows应用程序是事件驱动的程序。事件是由用户或系统触发,可以由对象识别的操作。如用户对对象(窗体、菜单或控件等)的鼠标的单击操作,就是Click事件。另外,关闭窗口操作也是一个事件。在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。因此,编程人员只需对每一个对象的特定事件编写相应的代码即可,无须考虑程序的执行顺序。,VB中的对象、事件与事件过程,“确定”按钮(控件)对象,转到事件过程编码窗口,“确定”按钮的对象名称,对象名,事件名,事件过程代码,编写对象代码的具体操作步骤,双击要编写代码的对象,打开代码编辑器。从对象列表框中选取要编写代码的对象,从过程列表框中选取事件,系统将自动产生过程模板。在过程模板中填写处理事件的过程代码。代码的编写要遵循如下规则:字母不区分大小写。Visual Basic6.0对代码会自动进行相应的转换:Visual Basic6.0的关键字,转换为首字母大写,其余小写;对用户自定义字符,转换为第一次定义的形式。注释以Rem开头,或用“”(一个单引号)引导。,事件过程的语法结构,事件过程的语法形式如下:Private Sub 对象名_事件()处理事件的代码 End Sub例如,设计对象Command1单击事件为退出程序,则相应的事件过程程序代码为:Private Sub Command1_Click()END End Sub,界面设计,界面是应用程序与用户的接口。在Visual Basic中,应用程序的用户界面主要由窗体、控件、菜单及工具栏组成。窗体是控件、菜单及工具栏的容器。窗体设计菜单设计工具栏设计(略),窗体设计,对于窗体,不用写任何代码,就可以对一些事件做出响应。窗体的事件说明了用户或系统对窗体的操作。在Visual Basic6.0中,窗体的事件有31种。主要的窗体事件窗体设计与操作举例,常用事件有:,窗体设计与操作举例,通过一个实例来演示对窗体的操作,包括窗体的装载、显示、隐藏和卸载。,实例目的,在本例中,使用了两个窗体MainForm,一个是主窗体,另一个是在主窗体中可以进行操作的窗体Form2。该实例的界面设计见右图。,实现方法,新建工程,添加一个窗体命名为MainForm,单击工程菜单的工程1属性命令,然后显示工程属性对话框,将窗体MainForm设置为启动窗体,在MainForm中填加四个按钮控件,单击视图菜单的代码窗口,进入代码窗口,为四个按钮对象的单击事件编写相应的代码,单击工程菜单的添加窗体,添加新窗体Form2,在Form2窗体中添加pictureBox控件,并添加一幅图片,指定图片文件路径及文件名,pictureBox控件,执行程序,执行程序,查看程序的执行结果,停止执行,菜单设计,菜单设计是通过菜单编辑器完成的。举例:设计菜单结构如下:,窗体操作,装载窗体显示窗体隐藏窗体卸载窗体,退出系统,帮助,菜单标题与名称,单击工具菜单的采单编辑器,编辑菜单选项,建立菜单结构,查看新建的菜单,为指定的菜单选项(对象)编写单击(Click)事件的代码,执行程序并显示结果,工程资源管理器,工程是指建立一个应用程序时所包含的文件的集合,包括窗体文件、模块文件以及可以由Visual Basic6.0应用程序使用的任何类型的文件。工程资源管理器显示当前所打开的工程的信息状态和文件内容。若打开的是一个工程组,则将显示整个工程组的所有工程信息。可通过视图菜单中的“工程资源管理器”菜单项来打开或关闭工程资源管理器窗口。,工程资源管理器的组成(一),工程资源管理器窗口如图所示:,工程资源管理器的组成(二),工程资源管理器由三部分组成:标题栏:位于该窗口的最顶端,显示工程的名称。工具栏:工具栏上有三个按钮,功能分别如下:查看代码:查看与当前选定的对象相关的代码。查看对象:在窗体窗口显示选定的对象外观。切换文件夹:切换文件夹显示的方式。列表窗口:列出了当前工程中包含的所有文件。工程资源管理器采用类似于资源管理器的树形文件结构图来显示工程中的资源。,工程资源管理器的组成(三),工程所包含的文件类型为:工程文件(.vbp):跟踪所有对象。窗体文件(.frm):存储有关窗体的信息。二进制数据文件(.frx):每个窗体都有一个相应的二进制数据文件,它包含窗体上控件的属性数据。模块文件(.bas):每个标准模块的一个文件,该文件是可选项。类模块文件(.cls):每个类模块的一个文件,该文件是可选项。Active X控件文件(.ocx):包含Active X控件的文件,该文件是可选项。资源文件(.res):包含无须重新编辑代码便可以改变的位图、字符串和其他数据,该文件是可选项。,工程资源管理器的使用(一),一般情况下,工程资源管理器主要进行与工程相关的任务,而不进行工程文件的编辑工作。在工程资源管理器中所能进行的工程管理操作主要有:(1)查看对象:单击该对象,单击工具栏上的“查看对象”按钮,包含该对象的窗体窗口将出现在屏幕上。(2)查看代码:单击该对象,单击工具栏上的“查看代码”按钮,与该对象相关的代码窗口将被打开。,工程资源管理器的使用(二),(3)添加对象:用鼠标指针指向工程名称,单击右键,系统会弹出一个快捷菜单。在该菜单上选择“添加”选项,稍侯出现二级菜单,选择所要添加的对象类型即可。(4)删除对象:选择要删除的对象,在要删除的对象项上单击右键,在弹出的快捷菜单中选择“删除”即可。(5)保存对象:当某些文件修改后,要及时保存这些文件。选择要保存的对象,在要保存的对象项上单击右键,在弹出的快捷菜单中选择“保存”或“另存为”即可。,VB程序设计的一般步骤,创建应用程序界面(添加对象)设置对象属性编写对象代码调试运行程序生成可执行文件(打包)生成系统安装(SETUP)文件,生成可执行文件,生成的可执行程序文件,双击执行程序,(打包)生成应用系统安装文件,Visual Basic语言简介,变量声明常量Const 常量名 As 常量类型=常量值声明数组Dim 数组名(长度)As 数组类型子程序(过程Sub与函数Function)(略)基本语句数据的输入与输出,变量,变量是用于在程序执行期间保存数据的。变量的声明数据类型(略)变量的范围过程变量(局部变量)窗体变量(在一个窗体范围内有效)公共变量Public(在整个应用程序中有效),变量的声明,VB中虽然不强制要求声明变量,但声明变量可提高程序的可读性、方便修改,有利于差错、生成优化代码。声明变量的格式为:Dim 变量名 As 数据类型 例:Dim V As Integer在声明变量时也可以不指明变量的类型 Dim 变量名 例:Dim V,基本语句,赋值语句选择结构流程控制语句循环结构流程控制语句With语句Exit语句注释、暂停与程序结束语句,赋值语句,格式一:变量=表达式 或 Let 变量=表达式格式二:Set 变量=对象名 Set 语句可以将一个对象赋给一个对象变量。例:Dim a As CommandButton Set a=Command1格式三:对象.属性=属性值 例:btnShow.caption=“显示Form2”,选择结构流程控制语句,选择结构是一种常用的基本结构,其特点是根据所给定的选择条件为真或假,来决定从不同操作中选择执行一种操作。VB提供三类选择结构控制语句:IfThenEnd IfIfThenElseSelect CaseEnd Selec,循环结构流程控制语句,在程序中,凡是需要重复相同或相似的操作步骤,都可以使用循环结构来实现。VB提供了三种不同风格的循环结构,分别是:计数循环(ForNext循环)当循环(WhileWend循环)Do循环(DoLoop循环)其中计数循环常用于已知循环次数的循环,而当循环和Do循环适合于循环次数未知,只知道循环结束条件的循环。,With 语句,With语句用于对某个对象执行一系列的操作,而不用重复指出对象的名称。例如,要改变一个对象的多个属性,可以在With控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它,使得程序更加简洁明了。With语句的语法如下:With Object statements End With Object指一个对象或用户自定义类型的名称。statements是要执行在Object(对象)上的一条或多条语句。,例:使用With语句来给标签控件MyLabel的几个属性赋值。With MyLabel.Height=2000.Width=2000.Cation=“This is MyLabel”End With,Exit语句,Exit语句用于退出控制结构、循环或过程。Exit语句的语法常用的几种形式如下:Exit Do:用于退出DoLoop循环,并且只能在DoLoop循环中使用。Exit For:用于退出For循环,并且只能在ForNext或For EachNext循环中使用。Exit Function:用于从包含该语句的Function过程中退出。Exit Sub:用于从包含该语句的Sub过程中退出。,注释、暂停与程序结束语句,注释语句:VB中的注释语句以一个撇号()或REM开始 格式:|REM 暂停语句:用来暂停程序的执行,其作用类似于“运行”菜单中的“中断”命令,相当于在程序代码中设置断点。格式:STOP结束语句:用来结束一个程序的执行。格式:END,数据的输入与输出,数据的输入使用文本框控件输入数据使用输入框(InputBox)函数输入数据数据的输出用Print方法输出数据用文本框和标签控件输出数据用消息框(MsgBox)输出数据输入输出程序举例文本框和标签程序设计对话框程序设计,使用文本框控件输入数据,文本框除了可以显示文本信息以外,还可以接收用户输入的数据,所以可以使用文本框来实现数据的输入。当在窗体上加入一个文本框控件后,程序执行时用户可以在文本框中光标的指示下输入字符,用户输入的字符通过文本框的控件Text属性返回。,使用输入框(InputBox)函数输入数据,输入框函数(InputBox)可以在程序中要输入数据的地方使用该函数产生一个输入对话框,这样,只需要一行代码就可以实现输入窗体的功能,节省了大量开发时间。InputBox函数的语法格式为:InputBox(,)该函数的功能是产生一个对话框,作为输入数据的界面,等待用户输入并返回所输入的内容。,InputBox函数的参数,用Print方法输出数据,Print方法可以在窗体、图片框、打印机等对象上输出数据。其格式为:.Print;|,其中,可以是窗体、图片框或打印机等可以使用该方法的对象。如果省略对象,则在当前窗体上输出数据。中的表达式是要输出的输出项,可以是算术表达式、字符串表达式、关系表达式或布尔表达式,多个表达式之间可以用逗号或分号隔开。,用文本框和标签控件输出数据,文本框和标签控件都可以用来显示文本信息,所以可以把要输出的数据以字符的形式在文本框或标签中显示出来。文本框和标签在输出数据时的区别在于使用文本框输出的文本可以允许用户进行编辑,而使用标签显示的文本用户不能进行任何的编辑操作。文本框控件的Text属性和标签控件的Caption属性分别用来表示要在其中显示的文本内容,所以,要在文本框或标签中显示文本,只需要把要显示的内容赋给它们相应的属性即可。,用消息框(MsgBox)输出数据,消息框是一类特殊的窗口。VB中提供了一个函数MsgBox,专门用来产生消息框,它可以向用户传送信息,并可以通过用户在对话框上的选择识别用户所作的响应,作为程序继续执行的依据。使用MsgBox函数,可以快速的得到各类对话框。MsgBox函数格式:MsgBox(,功能:产生一个对话框,在对话框中显示消息,等待用户单击按钮,并返回一个整数确定用户单击了哪个按钮。,该函数的参数含义说明如下:(1):字符串表达式,该字符串的内容将在由MesgBox函数产生的对话框上显示,作为系统提示信息。该字符串的长度不能超过1024个字符,如果超过,则多余的字符被截掉。当字符串在一行内显示不下时,将自动换行,也可以用“Chr$(13)+Chr$(10)”强制换行。(2):该参数由四类数值组成,其组成原则是:从每一类中选择一个值,把这几个值加在一起就是该参数的值。不同的组合会得到不同的结果。,“按钮类型”的设置值及含义,(3):字符串,显示在对话框的标题栏中作为标题。(4)MsgBox函数的返回值是一个整数,这个整数与所选择的命令按钮有关,可以通过返回的这个整数的数值确定用户在对话框中单击的是哪个按钮,即用户在对话框中作出了什么响应。,MsgBox函数的返回值,(5)MsgBox函数也可以写成语句形式,即:MsgBox,其中各参数的含义及作用与MsgBox函数相同。MsgBox语句和MsgBox函数实现的功能相同,只是没有返回值,因而通常用于较简单的信息输出。,文本框和标签程序设计,【例】设计一个简单的加法运算器,由用户从键盘上输入两个加数,然后求它们的和并将结果显示出来。,程序中用到的对象及其属性,“运算”按钮的事件过程:Private Sub Command2_Click()op1=Val(Text1.Text)op2=Val(Text2.Text)Sum=op1+op2 Text3.Text=Str(Sum)End Sub 文本框只能接收字符型数据,为了能够进行加法运算,首先要将用户在文本框1和文本框2中输入的字符通过Val()函数转换为数值型数据,然后分别赋给变量op1和op2,op1和op2相加之后的结果赋给变量Sum。再按文本框的使用要求用Str()函数把Sum转换成字符型数据,赋给文本框3的Text属性,以在文本框3中显示出来。“清除”按钮的事件过程:Private Sub Command1_Click()Text1.Text=Text2.Text=Text3.Text=Text1.SetFocus 将光标定位到Text1End Sub该按钮的作用是清除3个文本框中的原有信息,使其显示的内容为空白,并将光标自动定位到第1个文本框内,以便进行下次输入。,对话框程序设计,代码如下:Private Sub Form_Load()n=InputBox(请输入姓名:,姓名)s=InputBox(请输入电话,电话)str1=你的输入为&n&和&sMsgBox str1Label1.Caption=姓名:&nLabel2.Caption=电话:&sEnd Sub程序执行后,首先要求用户输入姓名,输入姓名后赋给变量n,随后出现同样的要求输入电话的输入框,并把输入的值赋给变量s。输入结束系统会通过MsgBox函数产生消息框。,【例】利用输入对话框输入一个学生的姓名和电话,然后以消息框的形式给出提示,最后显示在窗体上。,