VB数据库编程技术.ppt
《VB数据库编程技术.ppt》由会员分享,可在线阅读,更多相关《VB数据库编程技术.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6 6章章 VBVB数据库编程技术数据库编程技术 6 61 1数据库设计基础数据库设计基础数据库设计基础数据库设计基础6 62 2本地数据库设计(本地数据库设计(本地数据库设计(本地数据库设计(ACCESSACCESS)6 63 3数据控件数据控件数据控件数据控件 6 64 4ODBCODBC6 65ADO5ADO数据控件数据控件数据控件数据控件 6 66VB6VB中中中中SQLSQL的实现的实现的实现的实现 6 67 7VBVB中使用中使用中使用中使用ODBCODBC 6 68 8网络数据库设计网络数据库设计网络数据库设计网络数据库设计 1.1.VBVB中的数据访问中的数据访问nVBVB
2、提供的数据库引擎叫提供的数据库引擎叫JetJet。nVBVB提供了两种与提供了两种与JetJet数据库引擎接口的方法:数据库引擎接口的方法:DataData控控件件(Data Data Control)Control)和和数数据据访访问问对对象象(DAO)DAO)。这两种方法可以同时使用。这两种方法可以同时使用。6 6.1.1 数据库设计基础数据库设计基础 DataData控件提供了有限的控件提供了有限的不需编程就能访问现存不需编程就能访问现存数据库的功能数据库的功能DAODAO模型是全面控制模型是全面控制数据库的完整编程接口数据库的完整编程接口nVBVB通过通过DAODAO、ADOADO和和
3、JetJet引擎可以识别三类数据库:引擎可以识别三类数据库:(1 1)VBVB数据库数据库 n也也称称本本地地数数据据库库,本本地地数数据据库库文文件件格格式式与与Microsoft Microsoft AccessAccess相同。相同。JetJet引擎直接创建和操作这些数据库。引擎直接创建和操作这些数据库。(2 2)外部数据库)外部数据库 n访访问问符符合合“索索引引顺顺序序访访问问文文件件方方法法(ISAM)ISAM)”数数据据库库,包包括括:dBase dBase IIIIII、dBasedBase IVIV、FoxproFoxpro 2.02.0和和2.52.5以以及及Paradox
4、 3.xParadox 3.x和和4.4.x x。(3 3)ODBCODBC数据库数据库 n访访问问符符合合ODBCODBC标标准准的的客客户户机机服服务务器器数数据据库库,如如Microsoft SQL ServerMicrosoft SQL Server。6 6.1.1 数据库设计基础数据库设计基础 2.2.VBVB数据库体系结构数据库体系结构nJetJet引引擎擎负负责责处处理理存存储储、检检索索、更更新新数数据据的的结结构构,并并提供了功能强大的面向对象的提供了功能强大的面向对象的DAODAO编程接口。编程接口。(1)(1)VBVB数据库应用程序的组成数据库应用程序的组成nVBVB数据
5、库应用程序包含三部分,如图数据库应用程序包含三部分,如图6.16.1所示。所示。图图6.1 6.1 VBVB数据库应用程序的组成数据库应用程序的组成6 6.1.1 数据库设计基础数据库设计基础 用户界面用户界面Jet引擎引擎数据库数据库用户界面和应用程序代码用户界面和应用程序代码n用用户户界界面面是是用用户户所所看看见见的的用用于于交交互互的的界界面面,它它包包括括显显示示数数据据并并允允许许用用户户查查看看或或更更新新数数据据的的窗窗体体。驱驱动动这这些些窗窗体体的的是是应应用用程程序序的的VBVB代代码码,包包括括用用来来请请求求数数据据库库服服务务的的数数据据访访问问对对象象和和方方法法
6、,比比如如添添加或删除记录,或执行查询等。加或删除记录,或执行查询等。6 6.1.1 数据库设计基础数据库设计基础 JetJet引擎引擎nJetJet引擎实际是一组动态链接库引擎实际是一组动态链接库(DLL)DLL)文件。在运行时,文件。在运行时,这些文件被链接到这些文件被链接到VBVB程序。它把应用程序的请求翻译程序。它把应用程序的请求翻译成成.mdb(Accessmdb(Access文件后缀文件后缀)文件或其他数据库的物理操文件或其他数据库的物理操作。作。nJetJet引擎真正读取、写入和修改数据库,并处理所有引擎真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完
7、整性。内部事务,如索引、锁定、安全性和引用完整性。nJetJet引擎包含一个查询处理器,接收并执行引擎包含一个查询处理器,接收并执行SQLSQL查询,查询,实现所需的数据操作。实现所需的数据操作。nJetJet引擎包含一个结果处理器,用来管理查询所返回引擎包含一个结果处理器,用来管理查询所返回的结果。的结果。6 6.1.1 数据库设计基础数据库设计基础 数据库数据库n数据库是包含数据库表的一个或多个文件。数据库是包含数据库表的一个或多个文件。n本地本地VBVB或或AccessAccess数据库文件后缀为数据库文件后缀为mdbmdb文件。文件。(2 2)数据库应用程序的存放)数据库应用程序的存放
8、n在单系统机中数据库、数据引擎和用户界面集中存放。在单系统机中数据库、数据引擎和用户界面集中存放。n在在客客户户机机/服服务务器器系系统统中中,数数据据库库引引擎擎和和数数据据库库一一起起被被放放置置在在服服务务器器上上。数数据据库库引引擎擎可可以以同同时时对对多多个个客客户户机机的的应应用用程程序序提提供供服服务务、操操作作数数据据库库并并对对每每个个本本地地应应用程序返回所请求的记录。用程序返回所请求的记录。6 6.1.1 数据库设计基础数据库设计基础 6 6.1.1 数据库设计基础数据库设计基础 数据库数据库数据库引擎数据库引擎用户界面用户界面服务器服务器客户客户机机客客户户机机服服务务
9、器器引引擎擎,通通过过ODBCODBC方方式式使使用用。在在VBVB中中,通通过过连连接接到到ODBCODBC数数据据源源,如如Microsoft Microsoft SQL SQL ServerServer等等,可可直直接接把把查查询询传递给服务器数据库引擎。传递给服务器数据库引擎。VBVB中创建和访问数据库的途径主要有中创建和访问数据库的途径主要有3 3个:个:n可视化数据管理器可视化数据管理器 使使用用可可视视化化数数据据管管理理器器,不不需需要要编编程程就就可可以以创创建建JetJet数据库。数据库。nDAO DAO 使用使用VBVB的的DAODAO部件通过编程的方法创建数据库。部件通
10、过编程的方法创建数据库。nISAMISAM或或ODBCODBC VBVB可可通通过过ISAMISAM或或ODBCODBC驱驱动动程程序序来来访访问问外外部部数数据据库库数数据库。据库。6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)1 1可视化数据管理器可视化数据管理器n数据管理器数据管理器(Data Manager)Data Manager)是是VBVB的一个传统成员,的一个传统成员,它可以用于快速地建立数据库结构及数据库内容。它可以用于快速地建立数据库结构及数据库内容。n可以完成有关数据库的操作,比如数据库结构的建立、可以完成有关数据库的操作,比如数据库结构的建
11、立、记录的添加及修改以及用记录的添加及修改以及用ODBCODBC连接到服务器端的数据连接到服务器端的数据库如库如SQL ServerSQL Server等。等。n启动数据管理器启动数据管理器 选选择择“外外接接程程序序”菜菜单单下下的的“可可视视化化数数据据管管理理器器”项就可以启动数据管理器,打开项就可以启动数据管理器,打开“VisDataVisData”窗口。窗口。6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)2 2)工具栏按钮)工具栏按钮6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)数据库窗口数据库窗口SQL语句窗口语句窗口显显
12、示示数数据据库库的的结结构构,包包括括表表名名、列列名名、索引索引可可输输入入SQL命命令令,对对数数据据库库中中的的表表进进行行查查询操作询操作VisData窗口 6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)设设置置记记录录集集的访问方式的访问方式指指定定数数据据表表中中数数据据的的显显示示方方式式进行事务处进行事务处理理6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)表表类类型型记记录录集集按按钮钮,允允许许直直接接对对数数据据库库中中的的数数据据进进行行增增、删删、改改、查等操作。查等操作。动动态态集集类类型型记记录录集集按按钮
13、钮,将将指指定定的的数数据据打打开开并并读读入入到到内内存存中中,进行数据编辑操作。,进行数据编辑操作。快快照照类类型型记记录录集集,只只能能读读数数据据不不能能修修改改,适适用用于于只只查查询询的的情况情况6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)指指定定数数据据表表中中数数据据的的显显示示方方式式,在新窗体上使用在新窗体上使用DATADATA控件控件指指定定数数据据表表中中数数据据的的显显示示方方式式,在在新新窗窗体体上上不不使使用用DATADATA控控件件指指定定数数据据表表中中数数据据的的显显示示方方 式式,在在 新新 窗窗 体体 上上 使使 用用DB
14、GridDBGrid控件控件进入进入2 2具体实现具体实现1 1)建立数据库)建立数据库n数据库数据库student.mdbstudent.mdb(学生数据库学生数据库)中的表定义:中的表定义:学生成绩表学生成绩表(学号,课程,成绩,学期学号,课程,成绩,学期)。6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)学生成绩表结构学生成绩表结构字段名字段名 类型类型 宽度宽度 学号学号 Text 6Text 6 课程课程 Text 10Text 10 成绩成绩 Long 4Long 4 学期学期 Text 2Text 2基本情况表基本情况表(学号,姓名,性别,专业,出生年
15、月,学号,姓名,性别,专业,出生年月,照片,备注照片,备注)6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCESS)学生基本情况表结构学生基本情况表结构 字段名字段名 类型类型 宽度宽度 学号学号 Text 6Text 6 姓名姓名 Text 10Text 10 性别性别 Text 2Text 2 专业专业 Text 10Text 10出生年月出生年月 Date 8Date 8 照片照片 Binary 0Binary 0 备注备注 Memo 0Memo 0n添加数据表添加数据表n建立索引建立索引 建立索引可以加快检索速度。建立索引可以加快检索速度。2 2)录入数据)录入数据
16、n照片的输入:照片的输入:静静态态设设置置:通通过过一一个个图图片片编编辑辑程程序序将将照照片片装装入入剪剪贴贴板板,等待从剪贴板复制到等待从剪贴板复制到Picture1Picture1控件。控件。6 6.3.1.3.1 数据控件属性数据控件属性n动动态态设设置置:通通过过Picture1_DblClickPicture1_DblClick事事件件来来完完成成剪剪贴贴板板到到Picture1Picture1控控件件的的复复制制,当当移移动动记记录录指指针针时时,Picture1Picture1控件内的照片存入数据库。控件内的照片存入数据库。Private Sub Picture1_DblCli
17、ck()Private Sub Picture1_DblClick()Picture1.Picture=Picture1.Picture=Clipboard.GetDataClipboard.GetData End Sub End Sub3 3)建立查询)建立查询nVBVB的的数数据据管管理理器器提提供供了了一一个个图图形形化化的的设设置置查查询询条条件的窗口件的窗口查询生成器。查询生成器。n例如:查询例如:查询Authors IDAuthors ID=1010或或Authors IDAuthors ID=1 1的情况的情况6 6.2.2 本地数据库设计本地数据库设计(ACCESS)(ACCE
18、SS)进入进入nDataData控件数据控件提供有限的不需编程而能访问现存控件数据控件提供有限的不需编程而能访问现存数据库的功能,允许将数据库的功能,允许将Visual BasicVisual Basic的窗体与数据库的窗体与数据库方便地进行连接。方便地进行连接。n使用数据控件获取数据库中记录的集合,先在窗体上使用数据控件获取数据库中记录的集合,先在窗体上画出控件,再通过它的三个基本属性画出控件,再通过它的三个基本属性ConnectConnect、DatabaseNameDatabaseName和和RecordSourceRecordSource设置要访问的数据资源。设置要访问的数据资源。6
19、6.3.3 数据控件数据控件1 1ConnectConnect属性属性nConnectConnect属属性性指指定定数数据据控控件件所所要要连连接接的的数数据据库库类类型型,Visual Visual BasicBasic默默认认的的数数据据库库是是AccessAccess的的MDBMDB文文件件,也也可连接可连接ODBCODBC等类型的数据库。等类型的数据库。nAccessAccess数据库的所有表都包含在一个数据库的所有表都包含在一个MDBMDB文件中。文件中。6 6.3.1.3.1 数据控件属性数据控件属性2 2DatabaseNameDatabaseName属性属性nDatabaseN
20、ameDatabaseName属属性性指指定定具具体体使使用用的的数数据据库库文文件件名名,包包括文件所在的路径名括文件所在的路径名。n数据库中的基本表名可由数据库中的基本表名可由RecordSourceRecordSource属性指定。属性指定。n例例如如,要要连连接接一一个个Microsoft Microsoft AccessAccess的的数数据据库库存存放放在在C:C:Student.mdbStudent.mdb.n设设置置DatabaseNameDatabaseName=”C:C:Student.mdbStudent.mdb“,该该方方法法可可以通过属性栏设置,或在过程中指定以通过属
21、性栏设置,或在过程中指定.n在过程中可以使用相对路径来描述在过程中可以使用相对路径来描述,DatabaseNameDatabaseName=”.Student.mdbStudent.mdb“。6 6.3.1.3.1 数据控件属性数据控件属性3 3RecordSourceRecordSource属性属性nRecordSourceRecordSource确确 定定 具具 体体 可可 访访 问问 的的 记记 录录 集集 对对 象象RecordsetRecordset。n该该属属性性值值可可以以是是数数据据库库中中的的单单个个表表名名或或者者是是使使用用SQLSQL查询语言的一个查询查询语言的一个查询
22、。n例如,指定例如,指定Student.mdbStudent.mdb数据库中的基本情况表数据库中的基本情况表:RecordSourceRecordSource=”基本情况基本情况”。n例如,访问基本情况表中所有物理系学生的数据。例如,访问基本情况表中所有物理系学生的数据。RecordSourceRecordSource=”Select Select From From 基本情况基本情况 Where Where专业专业=物理物理 ”,6 6.3.1.3.1 数据控件属性数据控件属性4 4RecordsetTypeRecordsetType属性属性nRecordsetTypeRecordsetTy
23、pe属性确定记录集类型。属性确定记录集类型。(1 1)Table:Table:表记录集类型表记录集类型,一个记录集(单个表),一个记录集(单个表)(2 2)DynasetDynaset:动态集类型动态集类型,一个动态记录集(多个,一个动态记录集(多个表),默认值。表),默认值。(3 3)SnapshotSnapshot:快照类型:快照类型,一个记录集静态副本(不,一个记录集静态副本(不可改)可改)5 5EofActionEofAction和和BofActionBofAction属性属性n当当记记录录指指针针指指向向RecordsetRecordset对对象象的的开开始始(第第一一个个记记录录前
24、前)或或 结结 束束(最最 后后 一一 个个 记记 录录 后后)时时,BofActionBofAction和和EofActionEofAction属属性性的的设设置置或或返返回回值值决决定定了了数数据据控控件件要要采采取的操作。操作属性的取值如表取的操作。操作属性的取值如表6.16.1所示。所示。6 6.3.1.3.1 数据控件属性数据控件属性6 6.3.1.3.1 数据控件属性数据控件属性属 性值设置操 作BofAction0vbBOFActionMoveFirst 控件重定位到第1个记录(缺省)1vbBOFActionBOF 移过Recordset的开始位,定位到一个无效记录;将在第一个记
25、录上触发 Data 控件的 Validate 事件,紧跟着是非法(BOF)记录上的 Reposition 事件。此刻禁止 Data 控件上的 Move Previous 按钮。焦点将从一个记录转换到另一焦点将从一个记录转换到另一个记录之前,个记录之前,Validate Validate 事件发生事件发生 该事件发生在某行变为该事件发生在某行变为当前行当前行之后之后 6 6.3.1.3.1 数据控件属性数据控件属性属 性值设置操 作EofAction0vbEOFActionMoveLast 控件重定位到最后一个记录(缺省)1vbEOFActionEOF 移过Recordset 的结尾,定位到一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 数据库 编程 技术
限制150内