VB数据库编程.docx

上传人:大张伟 文档编号:8614132 上传时间:2020-12-07 格式:DOCX 页数:52 大小:67.33KB
返回 下载 相关 举报
VB数据库编程.docx_第1页
第1页 / 共52页
VB数据库编程.docx_第2页
第2页 / 共52页
VB数据库编程.docx_第3页
第3页 / 共52页
VB数据库编程.docx_第4页
第4页 / 共52页
VB数据库编程.docx_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《VB数据库编程.docx》由会员分享,可在线阅读,更多相关《VB数据库编程.docx(52页珍藏版)》请在三一文库上搜索。

1、VB 数据库编程VB数据库编程一V Visual Basic 作为应用程序的开发“利器”也表现在数据库应用程序的开发上,它良好的界面和强大的控件功能使数据库编程变得简单多了。但即便如此, 数据库应用程序的开发仍然算得上是VB 编程中的难点,这是因为你不仅要熟悉VB 中关于数据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。所以我们先介绍一下数据库的基本知识,算是学习数据库编程前的热身运动吧!一、热身运动首先需要声明是, 我们这里介绍的数据库知识都是指的关系数据库。 所谓关系数据库就是将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库。不管表在数据库文件中的物理存储

2、方式如何, 它都可以看作一组行和列, 与电子表格的行和列类似。在关系数据库中,行被称为记录,而列则被称为字段。下面是一个客户表的例子。表 1 客户表客户号姓名地址 城市街道邮编1723 Doe John 1234 Ffth Avenue New York NY 10043391 Smith Mary 9876 Myrtle Lavee Bosten MA 60783765 Blasel Mortimer 2296j River Road peoria IL 7011此表中每一行是一个记录, 它包含了特定客户的所有信息, 而每个记录则包含了相同类型和数量的字段:客户号、姓名等等。表 是一种按行与

3、列排列的相关信息的逻辑组,类似于工作单表。字段 数据库表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,须为每个字段分配一个数据类型、最大长度和其它属性。字段可包含各种字符、数字甚至图形。记录 各个客户有关的信息存放在表的行,被称为记录。一般来说,数据库表创建时任意两个记录都不能相同。键 键就是表中的某个字段(或多个字段) ,它(们)为快速检索而被索引。键可以是唯一的,也可以是非唯一的,取决于它(们)是否允许重复。唯一键可以指定为主键,用来唯一标识表的每行。例如,在前面的例子中,客户标识号 (客户号 ) 是表的主键,因为客户号唯一地标识了一

4、个客户。关系 数据库可以由多个表组成,表与表之间可以以不同的方式相互关联。例如,客户数据库还可以有一个包含某个客户的所有定单的表。它只用“客户号”字段来引用该定单的客户,而不在定单表中的每项重复所有客户信息,如下表所示:表 2 定货表定货客户号日期 内容数量14764 3391 2/23/94 27 $22.9514932 3391 3/17/94 46 $9.5715108 8765 2/15/96 27 $22.95在这个表中,客户号字段引用了客户表中的客户号字段,从而把定单和客户联系起来了。可以看到,客户3391 (Mary Smith)在 94 年 2 月 23 日订购了27 项,在9

5、4 年 3 月 17 日订购了 46 项。用来建立关系的键叫做外部键,因为它与“外部”表(客户表)的主键关联。一对多和多对多关系上表中的关系类型叫做一对多关系,因为一个客户可以发出多个定单,而某个特定的定单只能是一个客户所发。也可以建立多对多的关系。例如,列出所有可以销售的项(存货)的盘存表:表 3 盘存表内容描述 供应商费用盘存27 Straw Hat Garden Supply Co. $14.00 5046 Garden gloves Garden Supply Co. $4.50 75102 hanging floral industries $6.00 137从盘存表中,可以看到在客

6、户和存货项之间存在多对多的关系。也就是说,一个客户可以订购多个存货项, 而一个存货项又能够被多个客户订购。多对多关系是通过两个独立的一对多关系来定义的,公共的“多”表包含了两个其它表的外部键。在该例中,定货s 表与 盘存表(通过“内容”)与Customer 表(通过客户号)都相关联。通过这三个表,我们可以看到,MarySmith (客户号3391) 订购了Straw Hat ( “内容”27) 和 Garden Gloves ( “内容”46),而Mary Smith ( 客户号3391) 和 Mortimer Blaselflatz ( 客户号8765) 都订购了Straw Hat ( “内

7、容”27)。如果把客户表和盘存表的相关字段与定货表的“定货”字段联结起来,建立一个“关联”表,那么这个关系就更清楚了。表 4 关联表 :按客户号和内容排序定货号客户号姓名内容 描述14764 33391 Smith Mary 27 Straw Hat14932 33391 Smith Mary 46 Garden Gloves15168 8765 Blaselfatz Mortimer 27Straw Hat规范化数据库设计者的任务就是组织数据,而组织数据的方法,应能消除不必要的重复,并为所有必要信息提供快速查找路径。为了达到这种目标而把信息分离到各种独立的表中去的过程,叫作规范化。规范化是用

8、许多指定的规则和不同级别的范式来进行规范的复杂过程。该过程的研讨已超出了本文的范围。但是,大多数简单数据库的规范化可以用下面简单的经验规则来完成:包含重复信息的表必须分成独立的几个表来消除重复。例如,使学生和课程对应的学生数据库,包含了下表所示的信息。表 5学生课程 描述教授1 4 Introduction to Physiology Dawson2 3 Applied Basketweaing Carruth3 1 Physics for Short- 定货cooks Adms4 2 Introduction to Physiology Dawsons如果有选学了十二门课程的1000 个学生

9、,每门课程的说明和教师将显示100 多次对选了那门课程的每个学生都要重复一次。要避免这种低效率,应当把表分成两个独立的表来规范化,一个用来表示学生,另一个用来表示课程,如表6,表 7 所示。学生课程1 42 33 14 4课程描述教授1 Physics for Short- 定货cooks Adms2 Counterculture Sociology Beckely3 Applied Basketweaing Carruth4 Introduction to Physiology DawsonsVB数据库编程二信息来源:黑客代码编辑: admin 浏览次数: 211 加入时间: 2010-3-

10、31 11:49:15评论 (0)VB数据库编程二现在表被规范化了,所以,要改变特定课程的课程描述或“数据”,只要改变一个记录就可以了。以上是关于数据库的基本知识,这是学习数据库编程所必须的。虽然数据库技术作为一门学科,其深度和广度不是这点篇幅能描述的,但作为入门和简单数据库编程应该是足够了。好了,下面我们就可以开始练练了。我们经常遇到数据库系统是登记系统,不管你是在单位,或是参加什么组织,登记是免不了的,而且它的结构比较简单,我们就以一个登记系统为例吧。分析一下该系统所涉及到的数据。二、磨刀不误砍柴功对于登记,要跟踪的信息包括:姓名性别籍贯年龄出生年月单位地址邮政编码电话传真当然,可以简单地

11、创建一个表,使得上述的每个数据项对应一个字段。现在需要给表指派主键,用以唯一标识每一条记录,在登记表中分别添加登记号作为唯一键,这样就保证数据库中的任两条记录都不同了。对数据库作出以上分析后,我们就可以开始建立数据库了。三、建营扎寨在这里我们学习怎样建立数据库,首先需要确定要建立数据库的类型。在Visual Basic 中通过数据访问控件或数据访问对象(DAO )可以访问下列数据库:1 JET 数据库,即Microsoft Access2 ISAM 数据库,如:dBase, FoxPro 等3 ODBC 数据库,凡是遵循ODBC 标准的客户 /服务器数据库。如:MicrosoftSQL Ser

12、ver、Oracle一般来说,如果要开发个人的小型数据库系统,用Access 数据库比较合适,要开发大、中型的数据库系统用ODBC 数据库更为适宜。而dBase 和 FoxPro 数据库由于已经过时,除非特别的情况,否则不要使用。在我们的例子中,当然选用Access 数据库了。建立Access 数据库有两种方法:一是在 Microsoft Access 中建立数据库。点击“新建”按钮就可以建立新的表了(如图1)。这里我们主要介绍第二种方法:使用可视化数据管理器,不需要编程就可创建数据库。可视化数据管理器是 一 个 非 常 有 用 的 应 用 程 序 , 它 是VB企 业 版 和 专 业 版 附

13、 带 的 , 在 目 录.DevStudiovbsamplesVisdata 下,其界面如下图。点击菜单“文件”项下“新建”子项“Microsoft ACCESS ”子项的“版本7.0 MDB ”项。在弹出窗口中输入新建数据库的名称“登记”,出现下面图3 所示窗口 :要生成新的表,右键单击数据库窗口弹出菜单,然后选择“新表”命令,在随后出现的“表结构”对话框中建立所要的字段。每次向表中加入新的字段,单击“增加字段”按钮,会出现图4 的“增加字段”对话框。“增加字段”对话框中的选项如表10 所示,根据字段的类型,有些选项是无效的,无法读取。在我们建立的登记数据库中,各个字段的类型如表11。要注意

14、的是,由于字段登记号用来唯一标志记录的,因此,它不能由用户输入。所以在定义该字段时需要定义为Long 数据类型,“自动生成字段”项有效,并选中这一项。这样当用户每输入一条新记录时,系统就会在该字段上自动输入一个与其它记录不同的值。在 ACCESS 数据库中,关键字是用索引实现的,作为编程人员在对表类型的记录集编程时,只需调用索引名。在查询时, Rushmore 技术自动用索引信息优化查询。完成表定义后,点击“增加索引”按钮,弹出如图 5 所示窗口。在窗口中右边有三个选项,其意义如表 12。添加索引对话框选项完成之后如图 6。当然,学会数据库的建立也并非一朝一夕的事,读者不妨多练习一下。下面你就

15、可以运行VB开始我们的编程了。四、千里相会Visual Basic 数据库应用程序有三个部分,如图7 所示。用户程序是程序员开发的,也是我们即将用VB 来编写的部分。 数据库引擎是数据库驱动程序,使用它程序员可以用统一的格式访问各种数据库,不管这个数据库是本地的Visual Basic 数据库,还是所支持的其它任何格式的数据库格式,所使用的数据访问对象和编程技术都是相同的。数据库则是我们上面完成的部分。从这个结构可以看出用户与正在访问的特定数据库无关。那我们在用 VB 编写数据库程序时,就需要使程序能够访问指定的数据库。如果是简单的数据库应用,可以使用Data 控件来执行大部分数据访问操作,而

16、根本不用编写代码。与Data 控件相捆绑的控件自动显示来自当前记录的一个或多个字段的数据。DATA 数据控件属性CONNECT 属性指定打开的数据库类型,并且包括参数,如用户和口令等。例如:打开 Access 数据库(缺省)CONNECT=“ ACCESS”打开ODBC数据库CONNECT=“ODBC ; DA TABASE=?; UID=?; PWD= ?;DSN= ?”DATABASENAME属性确定数据控件访问哪一个数据库。对于多表数据库它为具体的数据库文件名,例如:ACCESS数据库DATABASENAME=“ D: .DEMO.MDB对于单表数据库它为具体的数据库文件所在的目录,而具

17、体文件名放在性中,例如 :访问 FOXPRO 数据库文件D: FOXDEMO.DBFDATABASENAME=“ D:FOX”RECORDSOURCE= “ DEMO ”不带文件扩展名RECORDSOURCE 属性RECORDSOURCE属确定数据控件的记录集 ,即 :所要访问的数据内容。 它可以是一个表名、 存储查询名或例如:访问 Register 表所有数据 :SQL语句。RECORDSOURCE= “ Register”访问 RC 表中 1973 年以前出生的数据:RECORDSOURCE=“SELECT *FROM Register WHERE BIRTHDAY20 and age + Text1.TextEnd IfIf IsNumeric(Text2.Text) Thenn = age + Text2.TextEnd IfIf m = And n = Thent1 = ElseIf m = Thent1 = nElseIf n = Thent1 = mElset1 = m + and + nEnd IfEnd IfEnd IfIf t1 Thent1 = where + t1End IfData1.RecordSource = allinfo + t1将RecordSource 属性的值设置为新的SQL语句Data1.Refresh刷新数据库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1