




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章 数据库编程基础,本章主要任务: 1了解数据库(重点是关系数据库)的基本概念。 2熟悉VB进行数据访问的基本方式。 3掌握Data控件和ADO Data控件的基本用法。 4熟悉使用可视化数据管理器VisData建立和维护数据库的方法。 5了解在VB中使用SQL语句的基本方式。,12.1 数据库简介,12.1.1 数据库的基本概念 1数据库 所谓数据库(Database,简称DB)就是长期存放在计算机内,以一定组织方式动态存储的、相互关联的、可共享的数据集合。 2数据库管理系统 数据库管理系统(DataBase Management System,简称DBMS)是帮助人们处理大量信息,实现管理现代化、科学化的强有力工具。 3数据库系统 一个完整的数据库系统(Database System,简称DBS)由数据库、数据库管理系统、数据库应用系统、数据库管理员(Database Administrator,简称DBA)以及用户组成。,12.1 数据库简介,12.1.2关系数据库 1关系(表) 在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表(Table)。一个关系数据库可以由一张或多张表组成,每张表都有一个名称,即关系名。 2记录(行) 每张二维表均由若干行和列构成,其中每一行称为一条记录(Record),记录是一组数据项(字段值)的集合,表中不允许出现完全相同的记录,但记录出现的先后次序可以任意。 3字段(列) 二维表中的每一列称为一个字段(Field),每一列均有一个名字,称为字段名,各字段名互不相同。列出现的顺序也可以是任意的,但同一列中的数据类型必须相同。,12.1 数据库简介,4主键 为了提高检索效率,常将关系数据库中的某个字段或某些字段的组合定义为主键(Primary Key)。每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。 5索引 通常建立一个较小的表索引表,该表中只含有索引字段和记录号。通过索引表可以快速确定要访问记录的位置。,12.2 数据库的建立及其操作,12.2.1 数据库的建立 VB既可使用其它应用程序(如Orcale、Access、Excel、dBase、FoxPro等)建立的数据库,也可以通过可视化数据管理器VisData直接建立和维护多种类型的数据库。 在VB环境下,执行“外接程序”菜单中的“可视化数据管理器”命令,即可打开 “可视化数据管理器”窗口。,1确定表结构 主要是确定表中各字段的名称、类型、长度和表名。 2建立数据表 添加字段 添加索引 生成表,12.2 数据库的建立及其操作,12.2.2 数据库的基本操作 利用“可视化数据管理器”可以进行的数据库基本操作包括添加记录、编辑记录、删除记录等。 执行“文件”菜单中的“打开数据库”命令,右击“数据库窗口”中的相应表名,执行快捷菜单中的“打开”命令,1. 添加记录 2 编辑记录 3 删除记录,12.3 数据库控件,12.3.1 数据控件 1功能 数据(Data)控件相当于一个记录指针,用于指示数据库的当前记录,可以通过单击其左右两边的箭头按钮,移动这个“指针”来选择当前记录。 数据控件本身并不能显示和直接修改记录,只能在与数据控件相关联的数据约束控件中显示各个记录。 数据控件只能访问数据库、修改表中数据,不能建立新表和索引,也不能改变表结构。 2属性 (1)Connect属性 其值为一字符串,用于指定数据库的类型,缺省为“Access”,即Microsoft Access的MDB文件。 (2)DatabaseName属性 其值为一字符串,用于返回或设置数据控件的数据库的名称及位置。,12.3 数据库控件,(3)RecordsetType属性 其值为一整数,用于返回或设置记录集合的类型,其中0为表(Table)类型,1为动态集(Dynaset)类型,2为快照(Snapshot)类型,缺省为动态集(Dynaset)类型。 使用什么记录集关键取决于要完成的任务。表类型的记录集已建立了索引,适合快速定位与排序,但内存开销太大。动态集类型的记录集则适合更新数据,但其搜索速度不及表类型。快照类型的记录集内存开销最小,适合显示只读数据。 (4)RecordSource属性 其值为一字符串,用于返回或设置记录的来源,可以是数据库中的一张表的名称、一个查询的名称或一条返回记录的合法SQL语句 (5)ReadOnly属性 返回或设置一个逻辑值,用于指定数据库的打开方式,缺省为False,数据库的打开方式为读/写方式。该属性为True时,则不允许对数据进行修改。,12.3 数据库控件,(6)BOFAction属性与EOFAction属性 其值为一整数,用于指示在记录集对象的BOF或EOF属性为True时,Data控件进行什么操作。,(7)Exclusive属性 返回或设置一个逻辑值,缺省为False,此时数据库为多用户访问而打开,其它用户可以打开该数据库,并可以在它打开时访问数据。该属性设置为True时,数据库为单用户访问而打开,在它关闭前其它用户不能打开该数据库。,12.3 数据库控件,3方法 (1)Refresh方法 可以在 Data 控件上使用 Refresh 方法来打开或重新打开数据库 在多用户环境中,由于其他用户可以对数据进行修改,因此常使用Refresh方法重新显示数据,以保证用户看到的是最新数据 (2)UpdateControls方法 从一个Data控件的Recordset对象中取得当前记录,并且在与该Data控件“绑定”的控件中显示适当的数据。 使用此方法可以终止任何挂起的该Data控件的记录集对象的Edit或AddNew方法,等效于用户更改了数据之后决定取消更改 在多用户环境中,其他用户可以更新数据库的当前记录,但相应控件中的值不会自动更新,可以调用此方法将当前记录的值在相应控件中显示出来。 (3)UpdateRecord方法 当与Data控件“绑定”的控件的内容改变时,如果不移动记录指针,则数据库中的值不会改变,可通过调用UpdateRecord方法来确认对记录的修改,将相应控件中的数据强制写入数据库中,12.3 数据库控件,4事件 (1)Reposition事件 当一条记录成为当前记录时触发该事件。 (2)Validate事件 当一条不同的记录成为当前记录之前,或调用该Data控件的记录集对象的Update方法、Delete方法和Close方法之前,以及卸载窗体之前触发该事件。 Private Sub Data控件名_Validate (action As Integer, save As Integer) Action参数是一个整型数,用以判断是何种操作触发了Validate事件,也可以在Validate事件过程中重新给Action参数赋值,从而使得在事件结束后执行新的操作。 (参见表12.3) Save参数是一个逻辑值,用以判断是否与该Data控件“绑定”的控件中的内容是否被修改过。如果Validate事件过程结束时,Save参数为True则保存所做修改,为False则忽略所做修改。,12.3 数据库控件,12.3.2数据约束控件 1功能 只有通过将数据约束控件与Data控件“绑定”(Bounding)后,才能在数据约束控件中自动显示当前记录的相关字段值。 如果修改了数据约束控件中的数据,并且Data控件的RecordsetType和ReadOnly属性设置为合适的值,只要移动记录指针,就会将修改后的数据自动写入数据库。 所谓“绑定”就是指将数据控件与数据约束控件建立约束关系的过程 可以作数据约束控件的标准控件有8种:文本框、标签、图片框、图像框、检查框、列表框、组合框、OLE控件。,12.3 数据库控件,2属性 (1)DataSource属性:返回或设置一个数据源,例如某个Data控件名。 (2)DataField属性:指定一个在数据源所创建的Recordset,(3)DataChanged属性 返回或设置一个值,它指出被绑定的控件中的数据已被某进程改变,这个进程不是从当前记录中检索数据的进程。当Data控件开始移动到一个不同记录时,Validate事件将发生。如果任何被绑定的控件的DataChanged属性均为True,则Data控件自动地调用Edit和Update方法将改变内容发送到数据库中。,例12-1,12.3 数据库控件,12.3.3 记录集对象 1功能 Data控件的DatabaseName属性确定了可以访问的数据库,RecordSource属性确定的数据库中具体可以访问的记录,这些记录构成一个记录集对象Recordset,其类型由该Data控件的RecordsetType属性确定。 VB对数据库中记录的访问是通过Recordset对象实现的,使用Recordset对象的属性与方法的一般格式为: Data控件名. Recordset .属性/方法 2属性 (1)Bof属性与Eof属性 当记录指针位于首记录之前,Bof属性为True,否则为False。 当记录指针位于末记录之后,Eof属性为True,否则为False。Bof属性与Eof属性在运行阶段只读。,12.3 数据库控件,(2)Nomatch属性 在记录集中进行查找时,如果找到相匹配的记录,则该属性值为False,否则为True。 (3)RecordCount属性 返回记录集中现存记录的个数。 3方法 (1)MoveFirst、MoveLast、MoveNext 和 MovePrevious方法 移动到指定Recordset对象中的第一个、最后一个、下一个或上一个记录并使该记录成为当前记录。 还可通过Move n的方法移动Recordset对象中当前记录的位置。如果参数n大于零,则当前记录位置将向记录集的末尾移动。如果n小于零,则当前记录位置向记录集的开始移动,12.3 数据库控件,(2)FindFirst、FindLast、FindNext和FindPrevious方法 搜索Recordset中满足指定条件的第一个、最后一个、下一个或上一个记录。如果找到符合条件的记录,则该记录成为当前记录,否则当前位置将设置在记录集的末尾。 语法格式:Data控件名.Recordset.Find方法 条件”,其中“条件”为指定字段值与常量关系的字符串表达式 例如Data1.Recordset.FindFirst“姓名=张三”用于在记录集中查找“姓名”字段值等于“张三”的第一条记录。 (3)Seek方法 在表类型的记录集中从头开始搜索满足指定条件的第一个记录,并使该记录成为当前记录。 语法格式:Data控件名. Recordset.Seek 比较类型,值1,值2,其中“比较类型”可以为”=”、”=”、”、”=”和” 例如Data1.Recordset. Seek “=”, “张三”用于在表类型的记录集中查找索引字段值等于“张三”的第一条记录。,12.3 数据库控件,(4)AddNew方法 向数据库中添加记录的步骤如下: 首先,调用AddNew方法,打开一个空白记录; 然后,通过与Data控件“绑定”的相关控件给各字段赋值; 最后,单击Data控件上的箭头按钮,移动记录指针,或调用UpdateRecord方法确定所做添加。 (5)Delete方法 删除数据库中记录的步骤如下: 首先,将要删除的记录定位为当前记录; 然后,调用Delete方法; 最后,移动记录指针,确定所做删除操作。 (6)Edit方法 编辑数据库中记录的步骤如下: 首先,将要修改的记录定位为当前记录; 然后,调用Edit方法; 然后,通过与Data控件“绑定”的相关控件修改各字段值; 最后,移动记录指针,确定所做编辑操作。 (7)Close方法:用于关闭指定的数据库、记录集,并释放分配的资源。,12.3 数据库控件,12.3.4 ADO Data控件 1概述 ADO(ActiveX Data Objects)Data控件属于ActiveX控件,使用前需在VB环境下执行“工程”菜单的“部件”命令,打开“部件”对话框后选择Miscrosoft ADO Data Control 6.0(OLEDB)控件,将其添加到工具箱中。 2使用ADO Data控件访问数据库 (1)设置ConnectionString属性,连接到数据源 ConnectionString属性包含一系列由分号分隔的“参数= 值”语句组成的详细连接字符串,用来建立连接到指定数据源的详细信息。,12.3 数据库控件,(2)设置RecordSource属性,指定访问数据源的命令,(3)在窗体上添加一个数据约束控件,将其DataSource属性设置为ADO Data控件名,实现与ADO Data控件的“绑定”,并将DataField属性设置为一个可用字段名。,12.4 SQL语言与数据库操作,12.4.1 SQL概述 VB可通过结构化查询语言(Structureed Query Language,简称SQL)对数据库中的数据进行操作。 1特点 综合统一 非过程化 面向集合 两种执行方式 2 SQL在VB中的应用 从一个或多个数据库的一个或多个表中获取数据。 对记录进行插入、删除或更新操作。 对表中数据进行统计,如求和、计数、求平均等。 建立、修改或删除数据库中的表。 建立或删除数据库中表的索引。,12.4 SQL语言与数据库操作,12.4.2 基本SQL语句 1构成 (1)命令,(2)子句,(3)运算符:逻辑运算符和比较运算符 (参见表12.10-12.11 ) (4)函数,12.4 SQL语言与数据库操作,2SELECT语句 SELECT 字段列表 FROM 表名 WHERE 查询条件 GROUP BY 分组字段 HAVING分组条件 ORDER BY 排序字段 ASC|DESC,数据控件的RecordSource属性除了可以设置成表名外,还可以设置为一条SQL语句,格式如下: 数据控件名. RecordSource=”SQL语句”,12.5数据库编程实例:一个简易的工资管理系统,本节将围绕一个简易的“工资管理系统”为读者介绍使用Visual Basic开发数据库应用程序的一般思路,同时对前面几节所学内容加以总结。如果时间允许,可在机房
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.3 恒星的一生说课稿-2023-2024学年华东师大版九年级下册科学
- 综合复习与测试说课稿-2025-2026学年高中数学人教B版必修3-人教B版2004
- 浙教版科学九上2.4 物质的分类 说课稿
- 蔬菜一家亲课件简介
- 2025年部编版新教材语文二年级上册全册单元复习课教案(共8个单元)
- 吉林长春版《心理健康》一年级上 第四课 很高兴认识你 教案
- 第六课 计算机的硬件系统说课稿-2025-2026学年初中信息技术苏教版八年级全一册-苏教版
- 人教版地理七下第八章第四节《澳大利亚》说课稿
- 《第四单元 建立网站 第13课 制作网站 四、使用书签》说课稿教学反思-2023-2024学年初中信息技术人教版七年级上册
- 2025年北京燃气考试题库及答案
- 监狱消防安全应急预案
- 当归种植培训课件
- 军事类面试题目及答案
- 三年(2023-2025)中考语文真题分类汇编(全国)专题22 议论文阅读(解析版)
- 2025年浙江省教师招聘考试(语文)历年参考题库含答案详解(5卷)
- 医学类案例教学法
- 2025巡护员考试题库及答案
- 产科专科护士结业汇报
- 2025文化和旅游部直属事业单位招聘社会人员29人模拟试卷附答案详解
- 产前准备课件
- 2025年安徽滁州郊源阳光电力维修工程有限责任公司招聘14人(第二批次)笔试参考题库附带答案详解(10套)
评论
0/150
提交评论