书签 分享 收藏 举报 版权申诉 / 51
上传文档赚钱

类型vb课件第6章-VB数据库1.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2688641
  • 上传时间:2022-05-18
  • 格式:PPT
  • 页数:51
  • 大小:461KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《vb课件第6章-VB数据库1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    vb 课件 数据库
    资源描述:

    1、VB数据库编程技术数据库编程技术1数据库设计基础VB中的数据访问中的数据访问 VB提供的数据库引擎叫Jet。VB提供了两种与Jet数据库引擎接口的方法:Data控件(Data Control)和数据访问对象(DAO)。Data控件只提供了有限的不需编程就能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。这两种方法不是互斥的,实际上,它们可以同时使用。 1数据库设计基础数据库设计基础 11 VB中的数据访问中的数据访问 VB提供的数据库引擎叫提供的数据库引擎叫Jet。 VB提供了两种与提供了两种与Jet数据库引擎接口的方法:数据库引擎接口的方法:Data控件控件(Data C

    2、ontrol)数据访问对象数据访问对象(DAO)。 Data控件只提供了有限的不需编程就能访问控件只提供了有限的不需编程就能访问现存数据库的功能现存数据库的功能 DAO模型是全面控制数据库的完整编程接口。模型是全面控制数据库的完整编程接口。 这两种方法不是互斥的,它们可以同时使用。这两种方法不是互斥的,它们可以同时使用。 VB中的数据库编程就是创建数据访问对象中的数据库编程就是创建数据访问对象 数据访问对象对应于被访问的物理数据库的不同部分 Database(数据库) Table(表) Field(字段) Index(索引)对象。 用这些对象的属性和方法来实现对数据库的操作。 VB通过通过DA

    3、O和和Jet引擎可以识别三类数据库:引擎可以识别三类数据库:1. VB数据库:也称为本地数据库,这类数据库文件使用与数据库:也称为本地数据库,这类数据库文件使用与Microsoft Access相同的格式。相同的格式。Jet引擎直接创建和操作这些引擎直接创建和操作这些数据库并且提供了最大程度的灵活性和速度。数据库并且提供了最大程度的灵活性和速度。 2. 外部数据库:外部数据库:VB可以使用几种比较流行的可以使用几种比较流行的“索引顺序索引顺序访问文件方法访问文件方法(ISAM)”数据库,数据库,包括:包括:dDase III、dBase IV、FoxPro 2.0和和2.5以及以及Parado

    4、x 3.x和和4.x。在。在VB中可以创建和中可以创建和操作所有这些格式的数据库,也可以访问文本文件数据库操作所有这些格式的数据库,也可以访问文本文件数据库和和Excel或或Lotus l-2-3电子表格文件。电子表格文件。 3. ODBC数据库:数据库:包括符合包括符合ODBC标准的客户机服务器标准的客户机服务器数据库,如数据库,如Microsoft SQL Server。如果要在如果要在VB中创建真正中创建真正的客户机服务器应用程序,可以使用的客户机服务器应用程序,可以使用ODBC Direct直接把直接把命令传递给服务器处理。命令传递给服务器处理。VB数据库体系结构数据库体系结构VB提供

    5、了基于Microsoft Jet数据库引擎的数据访问能力,Jet引擎负责处理存储、检索、更新数据的结构,并提供了功能强大的面向对象的DAO编程接口。1 VB数据库应用程序的组成VB数据库应用程序包含三部分,用户界面用户界面Jet引擎引擎数据库数据库 (1)用户界面和应用程序代码)用户界面和应用程序代码 用户界面是用户所看见的用于交互的界面,它包括显示数据并允许用户查看或更新数据的窗体。驱动这些窗体的是应用程序的VB代码,包括用来请求数据库服务的数据访问对象和方法,比如添加或删除记录,或执行查询等。 (2)Jet引擎引擎 Jet引擎被包含在一组动态链接库(DLL)文件中。在运行时,这些文件被链接

    6、到VB程序。它把应用程序的请求翻译成对.mdb(Access文件后缀)文件或其他数据库的物理操作。它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。它还包含一个查询处理器,接收并执行SQL查询,实现所需的数据操作。另外,它还包含一个结果处理器,用来管理查询所返回的结果。 (3)数据库)数据库 数据库是包含数据库表的一个或多个文件。(3)数据库)数据库 数据库是包含数据库表的一个或多个文件。 对于本地VB或Access数据库来说,就是mdb文件。对于ISAM数据库,它可能是包含.dbf(dBASE文件后缀)文件或其他扩展名的文件。或者,应用程序可能会访问保存在几

    7、个不同的数据库文件或格式中的数据。但无论在什么情况下,数据库本质上都是被动的,它包含数据但不对数据作任何操作。数据操作是数据库引擎的任务。2. 数据库应用程序的存放数据库应用程序的存放数据库应用程序的这三个部分可以被分数据库应用程序的这三个部分可以被分别放置在不同的位置上。别放置在不同的位置上。可以把它们都放在一台计算机上,供单可以把它们都放在一台计算机上,供单用户应用程序使用用户应用程序使用也可以放置在通过网络连接起来的不同也可以放置在通过网络连接起来的不同计算机上。计算机上。 脱离开应用程序本身,将数据存放在另一脱离开应用程序本身,将数据存放在另一台机器上的数据库应用程序,有远程数据台机器

    8、上的数据库应用程序,有远程数据库和客户机库和客户机/服务器数据库两种结构。服务器数据库两种结构。 客户机客户机/服务器数据库与远程数据库的存放服务器数据库与远程数据库的存放 用户界面用户界面Jet引擎引擎数据库数据库Jet引擎引擎用户界面用户界面数据库数据库客户机/服务器远程2 本地数据库设计(本地数据库设计(ACCESS) VB中创建数据库的途径主要有:(1)可视化数据管理器:使用可视化数据管理器,不需要编程就可以创建Jet数据库。(2)DAO:使用VB的DAO部件可以通过编程的方法创建数据库。(3)Microsoft Access:因为Microsoft Access使用了与VB相同的数据

    9、库引擎和格式,所以,用Microsoft Access创建的数据库和直接在VB中创建的数据库是一样的。(4)数据库应用程序:像FoxPro、dBase或ODBC客户机/服务器应用程序这样的产品,可以作为外部数据库,VB可通过ISAM或ODBC驱动程序来访问这些数据库。 1. 可视化数据管理器可视化数据管理器数据管理器数据管理器(Data Manager)是是VB的一个传统成员,的一个传统成员,它可以用于快速地建立数据库结构及数据库内容。它可以用于快速地建立数据库结构及数据库内容。 启动数据管理器启动数据管理器 选择选择“外接程序外接程序”菜单下的菜单下的“可可视化数据管理器视化数据管理器”项就

    10、可以启动数据管理器,打项就可以启动数据管理器,打开开“VisData”窗口。窗口。具体实现具体实现 建立数据库表 :基本情况(学号,姓名,性别,专业,出生年月,照片,备注)学生成绩表(学号,课程,成绩,学期) 单击单击“文件文件”菜菜单中的单中的“新建新建”命令,在命令,在“新建新建”级联菜单中选择级联菜单中选择“ M i c r o s o f t Access”,再选择,再选择“版本版本7.0 MDB”项,数据库的路项,数据库的路径并输入数据库径并输入数据库名 , 这 里 为名 , 这 里 为student.mdb。建立数据库结构建立数据库结构添加数据表添加数据表 我们首先建立基本情况表。

    11、在“表名称”中输入“基本情况”,然后添加基本情况表的字段,单击“添加字段”按钮,出现“添加字段”对话框,在此对话框中填入“学号”字段的信息。 按顺序输入“姓名”、“性别”、“专业”、“出生年月”、“照片”、“备注”字段,然后按“关闭”按钮返回到“表结构”对话框中。 建立索引建立索引建立了表的结构后就可以建立此表的索引了,这建立了表的结构后就可以建立此表的索引了,这样可以加快检索速度。单击样可以加快检索速度。单击“添加索引添加索引”按钮,按钮,会出现会出现“添加索引添加索引”对话框,通过此对话框可以对话框,通过此对话框可以将数据表的某些字段设置为索引。将数据表的某些字段设置为索引。在在“名称名称

    12、”字字段中输入索引段中输入索引的名称,然后的名称,然后从下边的从下边的“索索引的字段引的字段”列列表中选择作为表中选择作为索引的字段,索引的字段,我们这里选择我们这里选择的是的是“学号学号”。录入数据录入数据 数据表结构建立好之后,就可以向表中输入数数据表结构建立好之后,就可以向表中输入数据了,数据管理器提供了简单的数据录入功能。据了,数据管理器提供了简单的数据录入功能。 首先在工具栏上选定首先在工具栏上选定DBGrid显示风格的按钮,显示风格的按钮,然后在要录入数据的数据表上单击鼠标右键,然后在要录入数据的数据表上单击鼠标右键,选择选择“打开打开”选项,则出现以网格风格显示数选项,则出现以网

    13、格风格显示数据的窗口,如果此表中已有数据,则此时会显据的窗口,如果此表中已有数据,则此时会显示出此表中的全部数据;若此表中无数据,则示出此表中的全部数据;若此表中无数据,则会显示出一个空表。我们这里是以会显示出一个空表。我们这里是以“基本情况基本情况”表为例,并且输入了部分数据后的情况。表为例,并且输入了部分数据后的情况。 DBGrid显示风格显示风格建立查询建立查询数据表建立好之后,如果数据表建立好之后,如果数据表中已经有数据,数据表中已经有数据,就可以对表中的数据就可以对表中的数据进行有条件或无条件进行有条件或无条件的查询。的查询。VB的数据管的数据管理器提供了一个图形理器提供了一个图形化

    14、的设置查询条件的化的设置查询条件的窗口窗口查询生成器。查询生成器。选择选择“实用程序实用程序”菜单下菜单下的的“查询生成器查询生成器”,或在数据库窗口区域或在数据库窗口区域单击鼠标右健,然后单击鼠标右健,然后在弹出的菜单中选择在弹出的菜单中选择“新查询新查询”,即可出,即可出现现“查询生成器查询生成器”对对话框话框假设查询学号假设查询学号110002的基本情况,可按下述步骤的基本情况,可按下述步骤:(1)首先选择要单击表列表框中的首先选择要单击表列表框中的“基本情况基本情况”表。表。(2)在在“字段名称字段名称”字段中选定字段中选定“基本情况基本情况.学号学号”。(3)单击单击“运算符运算符”

    15、列表,选择列表,选择“=”。(4)单击单击“列出可能的值列出可能的值”按钮,在按钮,在“值值”字段中输入字段中输入110002。(5)单击单击“将将And加入条件加入条件”,将条件加入列表框中。,将条件加入列表框中。(6)在在“要显示的字段要显示的字段”列表框中,选定所需显示的字列表框中,选定所需显示的字段。注意,这里段。注意,这里只只选我们在查询结果中要看的字段。选我们在查询结果中要看的字段。(7)单击单击“运行运行”按钮,在随后的按钮,在随后的VisData对话框中,对话框中,选择选择“否否”,进一步选择,进一步选择“运行运行”,即可,即可得得查询结查询结果。果。(8)单击)单击“显示显示

    16、“按钮,在随后出现的按钮,在随后出现的“SQL Query”窗口中,显示刚建立的查询所对应的窗口中,显示刚建立的查询所对应的SQL语语句。句。3 数据控件数据控件 Data控件是控件是Visual Basic访问数据库的一种访问数据库的一种利器,它能够利器,它能够利用三种利用三种Recordset对象对象来来访问数据库中的数据,数据控件提供有访问数据库中的数据,数据控件提供有限的不需编程而能访问现存数据库的功限的不需编程而能访问现存数据库的功能,允许将能,允许将Visual Basic的窗体与数据库的窗体与数据库方便地进行连接。要利用数据控件返回方便地进行连接。要利用数据控件返回数据库中记录的

    17、集合,应先在窗体上画数据库中记录的集合,应先在窗体上画出控件,再通过它的三个基 本 属 性出控件,再通过它的三个基 本 属 性C o n n e c t 、 D a t a b a s e N a m e 和和RecordSource设置要访问的数据资源。设置要访问的数据资源。 3.1 3.1 数据控件属性数据控件属性 1 1ConnectConnect属性属性 Connect属性指定数据控件所要连接的数据库属性指定数据控件所要连接的数据库类型,类型,Visual Basic默认的数据库是默认的数据库是Access的的MDB文件,此外,也可连接文件,此外,也可连接DBF、XLS、ODBC等类型

    18、的数据库。等类型的数据库。 2 2DatabaseNameDatabaseName属性属性 DatabaseName属性指定具体使用的数据库文属性指定具体使用的数据库文件名,包括所有的路径名。如果连接的是单表件名,包括所有的路径名。如果连接的是单表数据库,则数据库,则DatabaseName属性应设置为数据属性应设置为数据库文件所在的子目录名,库文件所在的子目录名,而具体文件名放在而具体文件名放在RecordSource属性中。属性中。 3 3RecordSourceRecordSource属性属性RecordSource确定具体可访问的数据,这些数据确定具体可访问的数据,这些数据构成记录集对

    19、象构成记录集对象Recordset。该属性值可以是数。该属性值可以是数据库中的单个表名,据库中的单个表名,个存储查询,也可以是个存储查询,也可以是使用使用SQL查询语言的一个查询字符串。查询语言的一个查询字符串。4 4RecordTypeRecordType属性属性 RecordType属性确定记录集类型。属性确定记录集类型。 5 5EofActionEofAction和和BofActionBofAction属性属性当记录指针指向当记录指针指向Recordset对象的开始对象的开始(第一个记第一个记录前录前)或结束或结束(最后一个记录后最后一个记录后)时,数据控件的时,数据控件的EofActi

    20、on和和BofAction属性的设置或返回值决属性的设置或返回值决定了数据控件要采取的操作。定了数据控件要采取的操作。属性取值操作BofAction0控件重定位到第个记录 BofAction1移过记录集开始位,定位到一个无效记录,触发数据控件对第一个记录的无效事件Validate EofAction0控件重定位到最后个记录 EofAction1移过记录集结束位,定位到一个无效记录,触发数据 控件对最后一个记录的无效事件Validate EofAction2向记录集加入新的空记录,可以对新记录进行编辑,移动记录指针,新记录写入数据库 BofActio和和 EofAction属性属性(1)Data

    21、Source属性属性DataSource属性通过指定属性通过指定个有效的数据控件个有效的数据控件连接到一个数据库上。连接到一个数据库上。(2)DataField属性属性DataField属性设置数据库有效的字段与绑定属性设置数据库有效的字段与绑定控件建立联系。控件建立联系。绑定控件数据控件数据库32数据控件的事件数据控件的事件 1Reposition事件(重新定位) Reposition事件发生在一条记录成为当前记录后,只要改变记录集的指针使其从一条记录移到另一条记录,会产生Reposition事件。通常,可以在这个事件中显示当前指针的位置。例如,Data1_Reposition事件中加入如下

    22、代码:Private Sub Data1_Reposition() Data1.Caption = Data1.Recordset.AbsolutePosition + 1End Sub 这里,Recordset为记录集对象,AbsolutePosition属性指示当前指针值(从0开始)。当单击数据控件对象上的箭头按钮时,数据控件的标题区会显示记录的序号。2.Validate事件(使生效)当要移动记录指针、修改与删除记录前或卸载含有数据控件的窗体时都触发Validate事件。Validate事件检查被数据控件绑定的控件内的数据是否发生变化。它通过Save参数(True或False)判断是否有数

    23、据发生变化,Action参数判断哪种操作触发了Validate事件。参数可为下表中的值。Action值值描述描述Action值值描述描述0取消对数据控件的操取消对数据控件的操作作6Update1MoveFirst7Delete2MovePrevious8Find3MoveNext9设置设置Bookmark4MoveLast10Close5AddNew11卸载窗体卸载窗体3. 3. 数据控件的常用方法数据控件的常用方法 数据控件的内置功能数据控件的内置功能很多,可以在代码中用很多,可以在代码中用数据控件的方法访问这数据控件的方法访问这些属性。些属性。1)Refresh方法 如果在设计状态没有如果

    24、在设计状态没有为打开数据库控件的有为打开数据库控件的有关属性全部赋值,或当关属性全部赋值,或当RecordSource在运行时在运行时被改变后,必须使用数被改变后,必须使用数据控件的据控件的Refresh方法激方法激活这些变化。活这些变化。在多用户环在多用户环境下,当其他用户同时访问境下,当其他用户同时访问同一数据库和表时,同一数据库和表时,Refresh方法将使各用户对数据库的方法将使各用户对数据库的操作有效。操作有效。Private Sub Form_Load( ) Dim mpath As String Mpath=App.Path 获取当前路径获取当前路径 If Right(mpath

    25、,1)”/” Then mpath=mpath+”/” Data1.DatabaseName=mpath+”Student.mdb” 连接数据库连接数据库 Data1.RecordSource=”基本情况基本情况” 构成记录集对象构成记录集对象 Data1.Refresh 激活数据控件激活数据控件End Sub2)2)UpdateControlsUpdateControls方法方法UpdateControls方法可以将数据从数据库中重新读到被数据控件绑定的控件内。因而我们可使用UpdateControls方法终止用户对绑定控件内数据的修改。 例如:将代码Data1.UpdateControts

    26、放在一个命令按钮的Click事件中,就可以实现对记录修改的功能。 3). UpdateRecord3). UpdateRecord方法方法当对绑定控件内的数据修改后,数据控件需要移动记录集的指针才能保存修改。如果使用UpdateRecord方法,可强制数据控件将绑定控件内的数据写入到数据库中,而不再触发Validate事件。在代码中可以用该方法来确认修改。 3 34 4 记录集的属性与方法记录集的属性与方法 由RecordSource确定的具体可访问的数据,构成的记录集Recordset也是一个对象,它和其他对象一样具有属性和方法。下面列出记录集常用的属性和方法:1AbsolutePositi

    27、on属性AbsolutePosition返回当前指针值,如果是第1条记录,其值为0,该属性为只读属性。2Bof和Eof的属性 Bof判定记录指针是否在首记录之前,若Bof为True,则当前位置位于记录集的第1条记录之前。与此类似,Eof判定记录指针是否在末记录之后。3Bookmark属性Bookmark属性的值采用字符串类型,用于设置或返回当前指针的标签。在程序中可以使用Bookmark属性重定位记录集的指针,但不能使用AbsolutePostion属性。4Nomatch属性 在记录集中进行查找时,如果找到相匹配的记录,则Recordset的NoMatch属性为False,否则为True。该属

    28、性常与Bookmark属性一起使用。5RecordCount属性 RecordCount属性对Recordset对象中的记录计数,该属性为只读属性。在多用户环境下,RecordCount属性值可能不准确,为了获得准确值,在读取RecordCount属性值之前,可使用MoveLast方法将记录指针移至最后一条记录上。 6Move方法 使用Move方法可代替对数据控件对象的4个箭头按钮的操作遍历整个记录集。5种Move方法是: (1)MoveFirst方法:移至第1条记录。 (2)MoveLast方法:移至最后一条记录。 (3)MoveNext方法:移至下一条记录。(4)MovePrevious方

    29、法:移至上一条记录。(5)Move n 方法:向前或向后移n条记录,n为指定的数值。例 在窗体上用4个命令按钮代替数据控件对象的4个箭头按钮的操作。在窗体上增加4个命令按钮,将数据控件的Visible属性设置为False,如图所示。通过对4个命令按钮的编程代替对数据控件对象的4个箭头按钮的操作。 Private Sub Command1_Click()Data1.Recordset.MoveFirstEnd SubPrivate Sub Command4_Click() Data1.Recordset.MoveLastEnd SubPrivate Sub Command2_Click() Da

    30、ta1.Recordset.MovePrevious If Data1.Recordset.BOF Then Data1.Recordset.MoveFirstEnd SubPrivate Sub Command3_Click() Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLastEnd Sub7Find方法使用Find方法可在指定的Dynaset或Snapshot类型的Recordset对象中查找与指定条件相符的一条记录,并使之成为当前记录。4种Find方法是: (1)FindFirst方

    31、法:从记录集的开始查找满足条件的第1条记录。 (2)FindLast方法:从记录集的尾部向前查找满足条件的第l条记录。 (3)FindNext方法:从当前记录开始查找满足条件的下一条记录。 (4)FindPrevious方法:从当前记录开始查找满足条件的上一条记录。4种Find方法的语法格式相同:数据集合.Find方法 条件 搜索条件是一个指定字段与常量关系的字符串表达式。在构造表达式时,除了用普通的关系运算外,还可以用Like运算符。例如:语句 Data1.Recordset.FindFirst 专业=物理 表示在由Data1数据控件所连接的数据库Student.mdb的记录集内查找专业为“

    32、物理”的第l条记录。这里,“专业”为数据库Student记录集中的字段名,在该字段中存放专业名称信息。要想查找下一条 符 合 条 件 的 记 录 , 可 继 续 使 用 语 句 :Data1.Recordset.FindNext 专业=物理。 又例如:要在记录集内查找专业名称中带有“建”字的专业: Data1.Recordset.FindFirst 专业 Like ”*建*” 字符串“*建*”匹配字段专业中带有“建”字的所有专业名称字符串。 需要指出的是Find方法在找不到相匹配的记录时,当前记录保持在查找的始发处,NoMatch属性为True。如果Find方法找到相匹配的记录,则记录定位到该

    33、记录,Recordset的NoMatch属性为False。8Seek方法 使用Seek方法必须打开表的索引,它在Table表中查找与指定索引规则相符的第1条记录,并使之成为当前记录。其语法格式为: 数据表对象.seek comparison,keyl,key2 Seek允许接受多个参数,第1个是比较运算符comparison,Seek方法中可用的运算符有=、=、=, 11000135 数据库记录的增、删、改操作数据库记录的增、删、改操作 Data控件是浏览表格并编辑表格的好工具,但怎么输入新信息或删除现有记录呢?这需要编写几行代码,否则无法在Data控件上完成数据输入。数据库记录的增、删、改操

    34、作需要使用AddNew、Delete、Edit、Update和Refresh方法。它们的语法格式为: 数据控件数据控件.记录集记录集.方法名方法名 1增加记录AddNew方法在记录集中增加新记录。步骤为:(1)调用AddNew方法。 (2)给各字段赋值。给字段赋值格式为: Recordset.Fields(”字段名”)=值 (3)调用Update方法,确定所做的添加,将缓冲区内的数据写入数据库。 注意:如果使用AddNew方法添加新的记录,但是没有使用Update方法而移动到其他记录,或者关闭记录集,那么所做的输入将全部丢失,而且没有任何警告。当调用Update方法写入记录后,记录指针自动返回

    35、到添加新记录前的位置上,而不显示新记录。为此,可在调用Update方法后,使用MoveLast方法将记录指针再次移到新记录上。2删除记录要从记录集中删除记录的操作分为三步:(1)定位被删除的记录使之成为当前记录。(2)调用Delete方法。(3)移动记录指针。 注意:在使用Delete方法时,当前记录立即删除,不加任何的警告或者提示。删除一条记录后,被数据库所约束的绑定控件仍旧显示该记录的内容。因此,你必须移动记录指针刷新绑定控件,般采用移至下一记录的处理方法。在移动记录指针后,应该检查Eof属性。 3编辑记录 数据控件自动提供了修改现有记录的能力,当直接改变被数据库所约束的绑定控件的内容后,

    36、需单击数据控件对象的任一箭头按钮来改变当前记录,确定所做的修改。 也可通过程序代码来修改记录,使用程序代码修改当前记录的步骤为: (1)调用Edit方法。 (2)给各字段赋值。 (3)调用Update方法,确定所做的修改。 注意:如果要放弃对数据的所有修改,可用Refresh方法,重读数据库,没有调用Update方法,数据的修改没有写入数据库,所以这样的记录会在刷新记录集时丢失。 例例 加入加入“新增新增”、“删除删除”、“修改修改”、“放弃放弃”和和“查找查找”钮,通过对钮,通过对5个按纽的编程建立增、删、个按纽的编程建立增、删、改、查功能,如图所示。改、查功能,如图所示。 Command1

    37、_Click事件的功能根据按钮提示文字调用AddNew方法或Update方法,并且控制其他4个按钮的可用性。当按钮提示为“新增”时调用AddNew方法,并将提示文字改为“确认”,同时使“删除”按钮Command2、“修改”按钮Command3和“查找”按钮Command5不可用,而使“放弃”按钮Command4可用。新增记录后,需再次单击Command1调用Update方法确认添加的记录,再将提示文字再改为“新增”,并使“删除”、“修改”和“查找”按钮可用,而使“放弃”按钮不可用。程序中出现的On Error Resume Next语句是Visual Basic提供的错误捕获语句。该语句表示在

    38、程序运行时发生错误,忽略错误行,继续执行下一语句。锁Private Sub Command1_Click() On Error Resume Next Command2.Enabled = Not Command2.Enabled Command3.Enabled = Not Command3.Enabled Command4.Enabled = Not Command4.Enabled Command5.Enabled = Not Command5.Enabled If Command1.Caption = 新增新增 Then Command1.Caption = 确认确认 Data1.Re

    39、cordset.AddNew Text1.SetFocus Else Command1.Caption = 新增新增 Data1.Recordset.Update Data1.Recordset.MoveLast End IfEnd Sub 命令按钮Command2_Click事件调用方法删除当前记录。当记录集中的记录全部被删除后,再执行Move语句将发生错误,这时由On Error Resume Next语句处理错误。Private Sub Command2_Click() On Error Resume Next Data1.Recordset.Delete Data1.Recordset

    40、.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLastEnd Sub 命令按钮Command3_Click事件的编程思路,根据按钮提示文字调用Edit方法进入编辑状态或调用Update方法将修改后的数据写入到数据库,并控制其他3个按钮的可用性,代码如下:Private Sub Command3_Click()Private Sub Command3_Click() On Error Resume Next On Error Resume Next Command1.Enabled = Not Command1.Enabled

    41、 Command1.Enabled = Not Command1.Enabled Command2.Enabled = Not Command2.Enabled Command2.Enabled = Not Command2.Enabled Command4.Enabled = Not Command4.Enabled Command4.Enabled = Not Command4.Enabled Command5.Enabled = Not Command5.Enabled Command5.Enabled = Not Command5.Enabled If Command3.Caption

    42、 = If Command3.Caption = 修改修改 Then Then Command3.Caption = Command3.Caption = 确认确认 Data1.Recordset.Edit Data1.Recordset.Edit Text1.SetFocus Text1.SetFocus Else Else Command3.Caption = Command3.Caption = 修改修改 Data1.Recordset.Update Data1.Recordset.Update End If End IfEnd SubEnd Sub命令按钮Command4_Click事

    43、件使用UpdateControls方法放弃操作,代码如下:Private Sub Command4_Click() On Error Resume Next Command1.Caption = 新增新增 Command3.Caption = 修改修改 Command1.Enabled = True Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False Command5.Enabled = True Data1.UpdateControls Dala1.Recordset.MoveLastEnd Sub

    44、命令按钮Command5_Click事件根据输入专业使用SQL语句查找记录,代码如下:Private Sub Command5_Click()Dim mzy As String mzy = InputBox$(请输入专业请输入专业, 查找窗查找窗) Data1.RecordSource = Select * From 基本情况基本情况 Where 专业专业 = & mzy & Data1.Refresh If Data1.Recordset.EOF Then MsgBox 无此专业无此专业!, , 提示提示 Data1.RecordSource = 基本情况基本情况 Data1.Refresh

    45、 End IfEnd Sub 上面的代码给出了数据表内数据处理的基本方法。需要注意的是:对于一条新记录或编辑过的记录必 须 要 保 证 数 据 的 完 整 性 , 这 可 通 过Data1_Validate事件过滤无效记录。例如,下面的代码对学号字段进行测试,如果学号为空则输入无效。在本例中被学号字段所约束的绑定控件是Text1,可用Text1.DataChanged属性检测Text1控件所对应的当前记录中的字段值的内容是否发生了变化,Action=6表示Update操作。此外,使用数据控件对象的任一箭头按钮来改变当前记录,也可确定所做添加的新记录或对已有记录的修改,Action取值14分别对

    46、应单击其中一个箭头按钮的操作,当单击数据控件的箭头按钮时也触发Validate事件。Private Sub Data1_Validate(Action As Integer, Save As Integer) I f Te x t 1 . Te x t = A n d ( A c t i o n = 6 O r Text1.DataChanged) Then MsgBox 数据不完整,必须要有学号数据不完整,必须要有学号! Data1.UpdateControls End If If Action = 1 And Action = 4 Then Command1.Caption = 新增新增 Command3.Caption = 修改修改 Command1.Enabled = True Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False End IfEnd Sub谢谢观看

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:vb课件第6章-VB数据库1.ppt
    链接地址:https://www.163wenku.com/p-2688641.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库