vb程序设数据库.ppt_第1页
vb程序设数据库.ppt_第2页
vb程序设数据库.ppt_第3页
vb程序设数据库.ppt_第4页
vb程序设数据库.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、Visual Basic 6.0数据库技术,计算机公共课教研室 2010年,计算机公共课教研室 2010年邓秀华修改,第十五章 数据库,计算机公共课教研室 2010年邓秀华修改,1. 数据库的基本概念,一、数据库的概念 数据库是以一定方式的组织方式将相关的数据组织在一起,存放在计算机外存储器上,能为多个用户共享,与应用程序彼此独立的一组相关数据的集合。 数据库具备下述特点: 数据按一定的数据模型组织在一起,存储在计算机外存储器上; 可为多个用户共享; 最少冗余; 数据独立性,即数据独立于使用它的应用程序。,计算机公共课教研室 2010年邓秀华修改,二、数据库分类(按数据结构模型划分) 层次数据

2、库、网状数据库、关系数据库(最流行、成熟)、面向对象数据库,1. 数据库的基本概念,三、关系数据库 关系数据库表记录字段字符,表,计算机公共课教研室 2010年邓秀华修改,1 关系(表)Table 在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表。如:学生基本信息表。 2记录(行)Record 每张二维表均由若干行和列构成,其中每一行称为一条记录。如:学生基本信息表中,每个学生所占据的一行就是一个记录,共有5条记录。 3字段(列)Field 二维表中的每一列称为一个字段(Field),每一列均有一个名字,称为字段名,各字段名互不相同。如:学生基本信息表中,共有学号、姓名、性别、

3、院系、专业、年级6个字段。,1. 关系数据库的有关概念,计算机公共课教研室 2010年邓秀华修改,4主键Primary Key 关系数据库中的某个字段或某些字段的组合定义为主键。每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。如:学生基本信息表中,学号是主键,因为每个学生的学号都不同,可以保证是唯一的。 5域 字段的取值范围称为域。如:学生基本信息表中,性别字段的取值范围是男或女。 6索引Index 为了提高数据库的访问效率,可以对数据表建立索引。索引是建立在表上单独的物理数据库结构,引入索引后使得数据的查询更为快捷。,1. 关系数据库的有关概念,计算机公共课教研室 201

4、0年邓秀华修改,VB提供了两种方法建立数据库,分别是: 在VB系统环境下,使用可视化数据管理器(重点讲解) 通过关系数据库管理软件(例如Access)直接创建数据库,2. 数据库管理器,计算机公共课教研室 2010年邓秀华修改,可视化数据管理器(Visual Data Manager)是Visual Basic 提供的一个非常实用的、可视化的数据库管理工具。可以生成多种类型的数据库,例如Microsoft Access、dBase、Foxpro、ODBC等。使用它可以方便地完成创建、修改数据库、建立数据表、进行数据库查询等。Visual Basic本身使用的数据库是Access数据库,库文件扩

5、展名是.mdb,可以在可视化数据管理器中创建,也可以在Access中建立。 注意:大型数据库(如Oracle、Sybase等)不能在Visual Basic 6.0中创建,要创建这些类型的数据库,需要使用相应数据库管理系统提供的工具来完成。,2. 数据库管理器,计算机公共课教研室 2010年邓秀华修改,P307 例15-1开发一个简单的学生信息管理程序,2. 数据库管理器,第一步:打开可视化数据管理器。 在Visual Basic开发环境内,单击外接程序菜单可视化数据管理器,双击安装Visual Basic系统目录中的Visdata.exe,计算机公共课教研室 2010年邓秀华修改,第二步:建

6、立数据库,2. 数据库管理器,根据情况确定数据表的结构,计算机公共课教研室 2010年邓秀华修改,2. 数据库管理器,第二步:建立数据库,建立数据库结构 在打开的VisData管理器中文件菜单新建Microsoft AccessVersion 7.0 MDB,输入新建数据表的位置及数据库文件名(D:15-1Student.mdb),添加数据表右击数据库窗口新建表输入新表名称 StuInfo。 单击添加字段按钮,添加第1步确立的表结构。,计算机公共课教研室 2010年邓秀华修改,2. 数据库管理器,计算机公共课教研室 2010年邓秀华修改,2. 数据库管理器,第二步:建立数据库,建立索引(加快检

7、索速度,也可不设),单击添加索引按钮选择StuId学号作为主索引(主要的),以及不能有重复学号(唯一的),学号不能为空(不忽略空值)。,计算机公共课教研室 2010年邓秀华修改,2. 数据库管理器,第二步:建立数据库,生成表双击数据库表名StuInfo输入数据库表的各数据项。,计算机公共课教研室 2010年邓秀华修改,第三步:用户界面创建数据控件Data1,利用数据控件绑定数据库,3. 数据控件及数据绑定控件,数据控件的概念 1、Data控件(重点讲解) 2、ADO控件(ActiveX控件) 注意:数据控件不能显示数据,需要与数据绑定控件配合使用。,计算机公共课教研室 2010年邓秀华修改,数

8、据控件常用属性,Connect属性 指定数据控件所要连接的数据库类型。VB 6.0P300 表15-3提供了7种可访问的数据库类型,默认值是Access。 DatabaseName属性 指定具体使用数据库的名称,包括所有的路径名。 如:Data1.DatabaseName=D:15-1student.mdb RecordSource属性 用于设置Data控件所连接的记录源,可以是数据表或查询名。也可以是一个SQL查询语句。由该属性确定的具体可访问的数据构成的记录集合Recordset也是一个对象,它也具有属性和方法。,3. 数据控件及数据绑定控件,计算机公共课教研室 2010年邓秀华修改,数据

9、绑定控件的常用控件: 在VB中,数据控件本身不能直接显示记录集中的数据,所以必须借助数据绑定控件来实现。 所谓数据绑定控件是一些能够和数据库中的数据表的某个字段建立关联的控件。 可作为数据绑定控件的常用标准控件: 文本框、标签、列表框、组合框、复选框、图片框、图像框、OLE容器控件。 可作为数据绑定控件的ActiveX控件: DBGrid、DBList、DBCombo、DataGrid、DataList、DataCombo。,3. 数据控件及数据绑定控件,计算机公共课教研室 2010年邓秀华修改,要使文本等控件与数据控件捆绑在一起,成为数据控件的绑定控件。并且能够受到数据库约束,必须在运行时对

10、这些控件的两个属性进行设置: DataSource属性 用来将一个有效的数据控件与一个数据库连接。 DataField属性 设置数据库有效的字段与绑定控件建立联系。,3. 数据控件及绑定控件,计算机公共课教研室 2010年邓秀华修改,第三步:用户界面创建数据控件Data1,利用数据控件绑定数据库,在窗体上添加Data控件,并设置其DataBaseName属性设置为D:15-1Student.mdb,RecordSource属性为数据表StuInfo,3. 数据控件及绑定控件,在窗体上添加6个标签、6个文本框,并设置其DataSource属性为Data1,以及DataField属性分别设置所对应

11、的字段名。例如:Text1StuId,第四步:利用数据控件控件显示相应数据集的数据(数据库信息),计算机公共课教研室 2010年邓秀华修改,在VB中,对数据表(如Student.mdb的表StuInfo)是不允许直接访问的,而只能通过记录集对象Recordset对象实现记录的操作和浏览。 Recordset对象的常用属性 BOF属性和EOF 属性 分别用来测试记录指针是否已超出数据库的首记录/尾记录。 假设需要读出数据库中的全部记录,程序如下: Do While Data1.Recordset.Eof=False 依次读出记录 记录指针下移一个 Loop,4. RecordSet对象的属性和方

12、法,计算机公共课教研室 2010年邓秀华修改,Recordset对象常用方法 对象名.Recordset.MoveFist移到第1条记录为当前记录 对象名.Recordset.MoveLast移到最后1条记录为当前记录 对象名.Recordset.MovePrevious移到上1条记录为当前记录 对象名.Recordset.MoveNext移到下1条记录为当前记录,4. RecordSet对象的属性和方法,计算机公共课教研室 2010年邓秀华修改,15-1实例代码,下一条按钮代码(Command1),Private Sub Command1_Click() Data1.Recordset.Mo

13、veNext If Data1.Recordset.EOF = True Then Data1.Recordset.MoveLast MsgBox 这已经是最后一条记录了! Command1.Enabled = False End If Command2.Enabled = True End Sub,计算机公共课教研室 2010年邓秀华修改,15-1实例代码,上一条按钮代码(Command2),Private Sub Command2_Click() Data1.Recordset.MovePrevious If Data1.Recordset.BOF = True Then Data1.Re

14、cordset.MoveFirst MsgBox 这已经是第一条记录了! Command2.Enabled = False End If Command1.Enabled = True End Sub,计算机公共课教研室 2010年邓秀华修改,Recordset对象常用方法 对象名.Recordset.AddNew在表的最后一个记录后添加新记录,但输入完新记录后,要使用Update方法才能将新数据更新保存到数据库中,否则不会发生改变。 对象名.Recordset.Update将编辑后的数据写入数据库中,保存对数据库所作的改动。 对象名.Recordset.Delete删除当前记录,但仍显示 对

15、象名.Recordset.Edit允许对当前记录进行修改。,4. RecordSet对象的属性和方法,计算机公共课教研室 2010年邓秀华修改,15-1实例代码,添加按钮代码(Command3),Private Sub Command3_Click() If Command3.Caption = 添加 Then Command3.Caption = 确定 Data1.Recordset.AddNew Text1.SetFocus Else Command3.Caption = 添加 Command5.Caption = 修改 Data1.Recordset.Update Data1.Recor

16、dset.MoveLast End If End Sub,计算机公共课教研室 2010年邓秀华修改,15-1实例代码,删除按钮代码(Command4),Private Sub Command4_Click() If MsgBox(是否要删除?, vbYesNo) = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF = True Then Data1.Recordset.MoveLast End If End If End Sub,计算机公共课教研室 2010年邓秀华修改,15-1

17、实例代码,修改按钮代码(Command5),Private Sub Command5_Click() If Command5.Caption = 修改 Then Command3.Caption = 确定 Command5.Caption = 取消 Data1.Recordset.Edit Text1.SetFocus Else Command3.Caption = 添加 Command5.Caption = 修改 End If End Sub,计算机公共课教研室 2010年邓秀华修改,Recordset对象常用方法 对象名.RecordSet.FindFist查询符合条件的首记录 如:查找学

18、号为20041001的首记录Data1.RecordSet.FindFirst StuId=20041001 如:查找姓张的首记录Data1.RecordSet.FindFirst StuName Like 张* 对象名.RecordSet.FindLast/FindPrevious/FindNext查询符合条件的最后1条/上1条/下1条记录 Recordset对象常用属性 NoMatch属性判断使用Find或Seek方法做查询操作时是否找到符合条件的记录,为True表示没找到,反之则表示有相应记录被找到。,4. RecordSet对象的属性和方法,计算机公共课教研室 2010年邓秀华修改,15-1实例代码,查找按钮代码(Command6),Private Sub Command6_Click() 按学号查询 Dim XH As

温馨提示

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

评论

0/150

提交评论