数据库VB操作.ppt_第1页
数据库VB操作.ppt_第2页
数据库VB操作.ppt_第3页
数据库VB操作.ppt_第4页
数据库VB操作.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、第13章 数据库操作,本章要点: ADO控件 数据绑定控件 ADO对象,数据库功能: 数据的组织;数据的管理 数据的组织: 数据库(Data Base:DB)以一定方式组织并存储 在一起的相互有关的数据的集合。按组织方式的 不同,分为三种模型,即: 关系数据库;层次数 据库;网状数据库。 数据的管理: 数据库管理系统(DBMS)用户与数据库之间的接 口,提供对数据库使用和加工的操作,如对数据 库的建立、修改、检索、计算、统计、删除等。 VB可以处理多种数据库: 如Access、FoxPro、DataBase、 Excel、Paradox等格式的数据库。,数据库基本概念,一、关系数据库的有关概念

2、,数据库基本概念,1关系(表) 在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表(Table)。 2关系数据库 将数据存储在一些二维表中,然后 通过建立各表之间的关系来定义数据库的结构。一个数据库通常包含多个数据表。 例:“学生.mdb”数据库 (1) “学生基本信息” 表,数据库基本概念,(2)“专业” 表 (3)“系” 表 以上三个表构成一个数据库。 “学生基本信息”表与“专业”表通过“专业编号”建立关系。 “专业”表与“系”表通过“系编号”建立关系。 3记录(行) 每张二维表均由若干行和列构成,其中每一行称为一条记录(Record) 4字段(列) 二维表中的每一列称为一个

3、字段(Field),每一列均有一个名字,称为字段名,各字段名互不相同。,数据库基本概念,数据库基本概念,例:上面的数据库中表的结构,5主键 关系数据库中的某个字段或某些字段的组合定义为主键(Primary Key)。每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。 6索引 为了提高数据库的访问效率,表中的记录应该按照一定顺序排列,通常建立一个较小的表索引表,该表中只含有索引字段和记录号。通过索引表可以快速确定要访问记录的位置。 7. 表间的关联 按照某一个公共字段建立的一个表中记录同另一个表中记录之间的关系。有一对一、一对多(或多对一)、多对多关系。 二、VB数据库访问技术

4、的发展 1、客户/服务器的概念 使用客户/服务器是当今数据库开发的主流。客户/服务器模式是从模块 化程序设计的基础上发展过来的,它允许模块可以不在同一个存储空间中 运行。在该体系结构中,调用模块就成为客户(Client)的一个请求,而 被调用的模块就为服务器(Server)提供请求。,数据库基本概念,客户/服务器的逻辑扩展是让客户程序和服务器程序各自运行于相应的 软件平台上,它们各负其责相互协调地为一个应用程序服务。实际应用中 ,把数据库的前端放在客户机上,后端的数据库管理系统放在服务器上。 2、数据访问对象模型 在VB中,要对数据库进行访问,需要通过数据访问对象进行,数据访问 对象包括: D

5、AO: Data Access Object 数据访问对象 RDO: Remote Data Object 远程数据对象 ADO: ActiveX Data Object ActiveX数据对象 ADO是DAO/RDO的后继产物,它扩展了DAO和RDO所使用的对象模型,包含较少的对象,更多的属性、事件和方法。通过ADO可以访问各种各样的数据源。 3、结构化查询语言(SQL) SQLStructured Query Language 实现对数据库的检索、排序、统计、修改等多种操作。,数据库基本概念,1、 Select语句 格式: Select ALL|DISTINCT From Where Or

6、der By ASC|DESC, 功能: 从指定的表中选出满足条件的记录,记录中包含指定的字段。 ALL: 缺省值,显示查询到的所有记录。 DISTINCT: 在显示查询结果中如果有多个相同的记录,只取其中的一个。使用DISTINCT可以保证查询结果每一条记录的唯一性。 : 指出所要查询的表,可以指定多个表,各表名之间用逗号隔开。 : 指出查询的条件。 : 指明要在查询结果中包含的字段名,具体形式为: 表名.字段名,各项之间用逗号隔开,如果选择所有字段,则不用一一列出字段名,只需写成: 表名.*。 : 将查询结果按该字段排序。 ASC: 指定按升序排序。 ESC: 指定按降序排序。,SQL语句

7、,例: 选出学生基本信息表中所有男生记录,查询结果只包括班级、学号和姓名字段: Select 学生基本信息.班级,学生基本信息.学号, 学生基本信息.姓名 From 学生基本信息 Where 学生基本信息.性别 = 男 对于单个表的查询,可以省去各字段名前面的表名,以上Select语句可以简写成: Select 班级,学号,姓名 From 学生基本信息 Where 性别 = 男 例: 显示学生基本信息表中男生的所有信息: Select * From 学生基本信息 Where 性别 = 男 例:显示所有学生的学号、姓名和所在专业名、系名: Select 学生基本信息.学号,学生基本信息.姓名,专

8、业.专业名称,系.系名 From 学生基本信息,专业,系 Where 学生基本信息.专业编号=专业.专业编号 And 专业.系编号=系.系编号,SQL语句,2、Insert语句 格式:insert into 表 字段列表 values (插入记录的数据) 或 insert into 表 SQL语句 功能:添加记录 例: 设新建一个“新系”表,包括“系编号”、“系名” Insert Into 系 Select 系编号,系名 From 新系 Where 新系.系编号=005 表示从“新系”表中选择系编号为005的记录,并将其添加到“系”表中。 Insert Into 系 Select 系编号,系名

9、 From 新系 表示从“新系”表中选择所有记录,并将其添加到“系”表中。 Insert Into 新系 (系编号,系名) Values (007, 城市建设) 表示向“新系”表中添加一条新记录,系编号字段值为“007”,系名字段值为“城市建设”。,SQL语句,3、 Delete语句 格式:delete form 表 where 条件 功能:从一个或多个表中删除指定的记录。 例: Delete From 新系 Where 系编号=005 表示 从“新系”表中删除所有系编号大于“005”的记录。 4、 Update语句 格式:update 表 set 新值 where 条件 功能:更改表中一个或

10、多个行的列值。 例: 设在某“职工工资”数据表中包含“姓名”、“性别”、“基本工资”、“奖金”、“实发工资”字段。 给所有女职工增加2%的奖金。使用语句: Update 职工工资 Set 基本工资=基本工资 * 1.02 Where 性别 = 女 在增加奖金之后计算实发工资,使用语句: Update 职工工资 Set 实发工资=基本工资+奖金,SQL语句,数据控件: Data控件和ADO控件,用来建立与数据库的关 联,并确定记录集类型。利用Data控件和ADO控 件可以对数据库中的数据进行操作,却不能显示 数据库中的数据。 数据绑定控件: 用于显示由数据控件所确定的记录集中的数 据。 数据绑定

11、控件、数据控件和数据库之间的关系如下:,数据控件和数据绑定控件,一、ADO控件 1、添加方法 “工程”“部件” “Microsoft ADO Data Control 6.0” ADO控件经常使用两种数据源:ODBC数据源和连接字符串。 2、常用属性 (1)Connectionstring属性:用来建立到数据源的连接信息。 例: Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False; Data Source=D:mydb学生.mdb“ (2)RecordSource属性:用于确定具体可以访问的数据,这些数据构成了记 录集对象

12、Recordset。该属性值可以是一个表名称、 一个存储查询或一个查询字符串。 (3)Recordset属性: 由ADO控件所确定的记录集对象。 3、常用方法 (1)Refresh方法: 当数据源发生变化时,可以使用Refresh方法来打开或重 新打开数据库。,数据控件和数据绑定控件,二、Recordset对象的属性与方法 ADO控件的Recordset属性实际上是一个对象Recordset对象。因此 有其属性和方法。 1. 常用属性 (1) BOF、EOF属性: 当前记录在最后一个记录之后时,EOF值为True; 当前记录在第一个记录之前时,BOF值为True。 (2) RecordCoun

13、t属性: 指示当前记录的总数 (3) Fields属性: Fields属性是一个集合。集合中包含所有Field(字段)对象。每个Field对象对应于Recordset中的一列。使用Field对象的Value属性可设置或返回当前记录的数据。 例: 在窗体上显示当前记录的“姓名”字段的内容: Print Adodc1.Recordset.Fields(姓名).Value 例: 将当前记录的“班级”字段改成“计算机1班”: Adodc1.Recordset.Fields(“班级”).Value= 计算机1班 或简写成:Data1.Recordset.Fields(“班级”) = 计算机1班,数据控件

14、和数据绑定控件,2、常用方法 (1) MoveFirst方法: 将当前行记录指针移到第一条记录 MoveLast方法: 将当前行记录指针移到最后一条记录 MoveNext方法: 将当前行记录指针移到前一条记录 MovePrevious方法: 将当前行记录指针移到后一条记录 (2) AddNew方法: 在记录集中添加一条新记录。 例: 给“学生基本信息”表添加一条新记录。 Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(学号) = 980010104 Adodc1.Recordset.Fields(姓名) = 刘小波 Adodc1.Recordse

15、t.Fields(“班级”) = “计98-01 Adodc1.Recordset.Fields(性别) = 男 Adodc1.Recordset.Fields(专业编号) = 001 Adodc1.Recordset.Fields(出生日期) = #1/23/1980# Adodc1.Recordset.Update,数据控件和数据绑定控件,(4) Update方法: 保存对Recordset对象的当前记录所做的所有更改。 (5) Delete方法: 删除当前记录。 删除当前记录后,在移动到其他记录之前已删除的记录将保持为当前状态。一旦离开已删除记录,则无法再次访问它。,数据控件和数据绑定控

16、件,三、数据绑定控件 要使数据绑定控件能够显示数据库记录集中的数据,必须首先在设计 时或在运行时设置这些控件的两个属性: (1)DataSource属性: 返回或设置一个数据源,通过该数据源,数据绑定控件被绑定到一个数据库。 (2)DataField属性: 返回或设置数据绑定控件将被绑定到的字段名。 例:利用 “学生”数据库中的数据,用文本框显示“学生基本信息”表中的班级、学号、姓名、性别。使用命令按钮实现记录的向前、向后移动。,数据控件和数据绑定控件,Text1,Text2,Text3,Text4,Adodc1,Private Sub Command1_Click() “上一个”按钮功能 C

17、ommand2.Enabled = True If Adodc1.Recordset.BOF Then Command1.Enabled = False Command2.SetFocus Else Adodc1.Recordset.MovePrevious End If End Sub Private Sub Command2_Click() “下一个”按钮功能 Command1.Enabled = True If Adodc1.Recordset.EOF Then Command2.Enabled = False Command1.SetFocus Else Adodc1.Recordse

18、t.MoveNext End If End Sub,数据控件和数据绑定控件,一、ADO对象模型 使用ADO对象之前,首先要向当前工程添加ADO的对象库。 添加方法: 工程引用打开“引用”对话框选择“Microsoft ActiveX Data Object 2.0 Library”选项。 ADO对象模型定义了一个可编程的分层对象集合,如下图所示:,使用ADO访问数据,1、Connection对象 Connection对象用于连接数据源。 例: 使用以下语句连接并打开一个Access数据库 “学生.mdb”。 建立一个Connection对象Mycon Dim Mycon As New ADODB.Connection 定义Mycon对象的ConnectionString属性 Mycon.ConnectionString =provider=Microsoft jet OLEDB 3.51; & _ data source=D:mydb学生.mdb Mycon.Open strSQL = select

温馨提示

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

评论

0/150

提交评论