




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB数据库编程941 ODBC概述在传统的数据库管理系统中,每个数据库管理系统都有自己的应用程序开发接口(API),应用程序使用数据库系统所提供的专用开发工具(如嵌入式SQL语言)进行开发,这样的应用程序只能运行在特定的数据库系统环境下,适应性和可移植性比较差。在用户硬件平台或操作系统发生变化时,应用程序需要重新编写。嵌入式SQL语言的另一个缺点是它只能存取某种特定的数据库系统,因此一个应用程序只能连接同类的DBMS,而无法同时访问多个不同的DBMS,而在实际应用中通常是需要同时访问多个不同的DBMS的。例如,在一个单位中,财务、生产和技术等部门常根据自身专业的特点选择不同的DBMS,而建立企
2、业级管理信息系统时,需要同时访问各个部门的数据库。这种情况下传统的数据库应用程序开发方法就难以实现。为了解决这些问题,微软公司开发了ODBC(Open DataBase Connectivity,即开放数据库互连)。ODBC 是MMicrossoft公司司开发的一套套开放数据库库系统应用程程序接口规范范,目前它已已成为一种工工业标准,它它提供了统一一的数据库应应用编程接口口(API),为应用程程序提供了一一套高层调用用接口规范和和基于动态连连接库的运行行支持环境。使使用ODBCC开发数据库库应用时,应应用程序调用用的是标准的的ODBC函函数和SQLL语句,数据据库底层操作作由各个数据据库的驱动
3、程程序完成。因因此应用程序序有很好的适适应性和可移移植性,并且且具备了同时时访问多种数数据库管理系系统的能力,从从而彻底克服服了传统数据据库应用程序序的缺陷。942 OODBC体系系结构ODBC驱动程程序类似于WWindowws下的打印印驱动程序,对对用户来说,驱驱动程序屏蔽蔽了不同对象象(数据库系系统或打印机机)间的差异异。同样地,OODBC屏蔽蔽了DBMSS之间的差异异。ODBCC的体系结构构如图9.12所示示。1ODBC数数据库应用程程序应用程序的主要要任务包括:建立与数据据源的连接;向数据源发发送SQL请请求;接收并并处理请求的的结果;断开开与数据源的的连接等。图9.12 OODBC的
4、体体系结构2驱动程序管管理器驱动程序管理器器是一个Wiindowss下的应用程程序,在Wiindowss 95和WWindowws NT环环境下的控制制面板上分别别显示为“332位ODBBC”图标和和“ODBCC”图标。如如果在Winndows 95和Wiindowss NT环境境下没有这个个图标,说明明没有安装OODBC驱动动程序管理器器。此软件可可从Winddows 995操作系统统、Micrrosoftt VC+、Micrrosoftt VB等软软件中获得。此此管理器的主主要作用是用用来装载ODDBC驱动程程序、管理数数据源、检查查ODBC参参数的合法性性等。3DBMS驱驱动程序 ODB
5、BC应用程序序不能直接存存取数据库,它它将所要执行行的操作提交交给数据库驱驱动程序,通通过驱动程序序实现对数据据源的各种操操作,数据库库操作结果也也通过驱动程程序返回给应应用程序。4数据源数据源是指任一一种可以通过过ODBC连连接的数据库库管理系统,它它包括要访问问的数据库和和数据库的运运行平台。数数据源名掩盖盖了数据库服服务器或数据据库文件间的的差别,通过过定义多个数数据源,每个个数据源指向向一个服务器器名,就可在在应用程序中中实现同时访访问多个DBBMS的目的的。数据源(Datta Souurce NName,简简称DSN)是驱动程序序与DBS连连接的桥梁,数数据源不是DDBS,而是是用于
6、表达一一个ODBCC驱动程序和和DBMS特特殊连接的命命名。在连接接中,用数据据源名来代表表用户名、服服务器名、所所连接的数据据库名等,可可以将数据源源名看成是与与一个具体数数据库建立的的连接。数据源分为以下下三类: (1)用户数据源源:用户创建建的数据源,称称为“用户数数据源”。此此时只有创建建者才能使用用,并且只能能在所定义的的机器上运行行。任何用户户都不能使用用其他用户创创建的用户数数据源。 (2)系统数据源源:所有用户户和在Winndows NT下以服服务方式运行行的应用程序序均可使用系系统数据源。(3)文件数据据源:文件数数据源是ODDBC 3.0以上版本本增加的一种种数据源,可可用
7、于企业用用户,ODBBC驱动程序序也安装在用用户的计算机机上。总之,ODBCC提供了在不不同数据库环环境中为CS结构的客客户机访问异异构数据库的的接口,也就就是在由异构构数据库服务务器构成的客客户机服务务器结构中,要要实现对不同同数据库进行行的数据访问问,就需要一一个能连接不不同的客户机机平台到不同同服务器的桥桥梁,ODBBC就是起这这种连接作用用的桥梁。OODBC提供供了一个开放放的、标准的的能访问从PPC机、小型型机到大型机机数据库数据据的接口。使使用ODBCC标准接口的的应用程序,开开发者可以不不必深入了解解要访问的数数据库系统,比比如其支持的的操作和数据据类型等信息息,而只需掌掌握通用
8、的OODBC AAPI编程方方法即可。使使用ODBCC的另一个好好处是当作为为数据库源的的数据库服务务器上的数据据库管理系统统升级或转换换到不同的数数据库管理系系统时,客户户机端应用程程序不需作任任何改变,因因此利用ODDBC开发的的数据库应用用程序具有很很好的移植性性。 95 ADDO数据控件件951 AADO对象模模型 ADOO(ActiiveX DData OObjectt)数据访问问接口是Miicrosooft处理数数据库信息的的最新技术。它它是一种AcctiveXX对象,采用用了被称为OOLE DBB的数据访问问模式,是数数据访问对象象DAO、远远程数据对象象RDO和开开放数据库互互
9、连ODBCC三种方式的的扩展。ADDO对象模型型定义了个个可编程的分分层对象集合合,主要由三三个对象成员员Conneectionn、Commmand和RRecorddset对象象,以及几个个集合对象EErrorss、Paraameterrs和Fieelds等所所组成。图99.13示意意了这些对象象之间的关系系。表9.6是对这这些对象的分分工描述。Connection对象Connection对象Error对象Error集合Error对象Error集合Command对象Command对象Parameter对象Parameter集合Parameter对象Parameter集合Recordset对象R
10、ecordset对象Field对象Field集合Field对象Field集合图9.13 ADO对象象模型表9.6 ADDO对象描述述对象名描 述Connecttion连接数据来源Commandd从数据源获取所所需数据的命命令信息Recordsset所获得的一组记记录组成的记记录集Error在访问数据时,由由数据源所返返回的错误信信息Parametter与命令对象有关关的参数Field包含了记录集中中某个字段的的信息 要想在程序中使使用ADO对对象,必须先先为当前工程程引用ADOO的对象库。引引用方式是执执行“工程”菜菜单的“引用用”命令,启启动引用对话话框,在清单单中选取“MMicrossof
11、t ActivveX DData Objeccts 2.0 Libbrary”选选项。952 使使用ADO数数据控件 在使用用ADO数据据控件前,必必须先通过“工工程|部件”菜菜单命令选择择Micrrosoftt ADO Data Contrrol 66.0(OLLEDB)”选选项,将ADDO数据控件件添加到工具具箱。ADOO数据控件与与Visuaal Baasic的内内部Dataa控件很相似似,它允许使使用ADO数数据控件的基基本属性快速速地创建与数数据库的连接接。1ADO数据据控件的基本本属性 (1)ConneectionnStrinng属性 ADOO控件没有DDatabaaseNamme
12、属性,它它使用ConnnectiionStrring属性性与数据库建建立连接。该该属性包含了了用于与数据据源建立连接接的相关信息息,ConnnectioonStriing属性带带有4个参数数,如表9.7所示。(2)RecoordSouurce属性性 ReccordSoource确确定具体可访访问的数据,这这些数据构成成记录集对象象Recorrdset。该该属性值可以以是数据库中中的单个表名名,一个存储储查询,也可可以是使用SSQL查询语语言的一个查查询字符串。表9.7 CoonnecttionSttring属属性参数参数描述Providee指定数据源的名名称FileNamme指定数据源所对对应
13、的文件名名RemotePProvidde在远程数据服务务器打开一个个客户端时所所用的数据源源名称RemoteSServerr在远程数据服务务器打开一个个主机端时所所用的数据源源名称 (3)CConnecctionTTimeouut属性用于数据连接的的超时设置,若若在指定时间间内连接不成成功显示超时时信息。(4)MaxRRecordds属性定义从一个查询询中最多能返返回的记录数数。2. ADO数数据控件的方方法和事件ADO数据控件件的方法和事事件与Datta控件的方方法和事件完完全一样。3设置ADOO数据控件的的属性 下面通通过使用ADDO数据控件件连接Stuudent.mdb数据据库来说明AA
14、DO数据控控件属性的设设置。 步骤11:在窗体上上放置ADOO数据控件,控控件名采用默默认名“Addodcl”。 步骤22:单击ADDO控件属性性窗口中的CConnecctionSStringg属性右边的的“”按钮钮,弹出“属属性页”对话话框。在该对对话框中允许许通过三种不不同的方式连连接数据源: “使用用连接字符串串”只需要单单击“生成”按按钮,通过选选项设置自动动产生连接字字符串。 “使用用Data Link文文件”表示通通过个连接接文件来完成成。“使用ODBCC数据资源名名称”可以通通过下拉式列列表框,选择择某个创建好好的数据源名名称(DSNN),作为数数据来源对远远程数据库进进行控制。
15、步骤3:采用“使使用连接字符符串”方式连连接数据源。单单击“生成”按按钮,打开“数数据链接属性性”对话框。在在“提供者”选选项卡内选择择一个合适的的OLE DDB数据源,SStudennt.mdbb是Acceess数据库库,选择“MMicrossoft JJet 3.51 OLLE DB Proviider”选选项。然后单单击“下步步”按钮或打打开“连接”选选项卡,在对对话框内指定定数据库文件件,这里为SStudennt.mdbb。为保证连连接有效,可可单击“连接接”选项卡右右下方的“测测试连接”按按钮,如果测测试成功则关关闭ConnnectioonStriing属性页页。 步骤44:单击AD
16、DO控件属性性窗口中的RRecorddSourcce属性右边边的“”按按钮,弹出记记录源属性页页对话框。 在“命命令类型”下下拉式列表框框中选择“22adCmddTablee”选项,在在“表或存储储过程名称”下下拉式列表框框中选择Sttudentt.mdb数数据库中的“基基本情况”表表,关闭记录录源属性页。此此时,已完成成了ADO数数据控件的连连接工作。由于ADO数据据控件是一个个ActivveX控件,也也可以用鼠标标右键单击AADO数据控控件,在弹出出的快捷菜单单中选择“AADODC属属性”菜单命命令,打开AADO数据控控件属性页对对话框,一次次完成步骤11步骤4的的全部设置。953 ADO
17、数据据控件上新增增绑定控件的的使用 随着AADO对象模模型的引入,VVisuall Basiic 6.00除了保留以以往的一些绑绑定控件外,又又提供了一些些新的成员来来连接不同数数据类型的数数据。这些新新成员主要有有DataGGrid、DDataCoombo、DDataLiist、DaataRepport、MMSHFleexGridd、MSChhart控件件和MontthVieww等控件。这这些新增绑定定控件必须使使用ADO数数据控件进行行绑定。 Vissual BBasic 6.0在绑绑定控件上不不仅对DattaSourrce和DaataFieeld属性在在连接功能上上作了改进,又又增加了D
18、aataMemmber与DDataFoormat属属性使数据访访问的队列更更加完整。DDataMeember属属性允许处理理多个数据集集,DataaFormaat属性用于于指定数据内内容的显示格格式。 例9.6 使用用ADO数据据控件和DaataGriid数据网格格控件浏览数数据库Stuudent.mdb,并并使之具有编编辑功能。 在窗体体上放置ADDO数据控件件,并按前面面介绍的ADDO数据控件件属性设置过过程连接数据据库Studdent.mmdb中的基基本情况表。 DattaGridd控件允许用用户同时浏览览或修改多个个记录的数据据。在使用DDataGrrid控件前前也必须先通通过“工程|
19、部件”菜单单命令选择“MMicrossoft DataGGrid Contrrol 6.0(OLEEDB)”选选项,将DaataGriid控件添加加到工具箱,再再将DataaGrid控控件放置到窗窗体上。设置置DataGGrid网格格控件的DaataSouurce属性性为Adoddc1,就可可将DataaGrid11绑定到数据据控件Adoodc1上。 显示在在DataGGrid网格格内的记录集集,可以通过过DataGGrid控件件的AlloowAddNNew、AlllowDeelete和和AllowwUpdatte属性设置置控制增,删删、改操作。 如果要要改变DattaGridd网格上显示示的
20、字段,可可用鼠标右键键单击DattaGridd控件,在弹弹出的快捷菜菜单中选择“检检索字段”选选项。Vissual BBasic提提示是否替换换现有的网格格布局,单击击“是”按钮钮就可将表中中的字段装载载到DataaGrid控控件中。再次次用鼠标右键键单击DattaGridd控件,在弹弹出的快捷菜菜单中选择“编编辑”选项,进进入数据网格格字段布局的的编辑状态,此此时,当鼠标标指在字段名名上时,鼠标标指针变成黑黑色向下箭头头。用鼠标右右键单击需要要修改的字段段名,在弹出出的快捷菜单单中选择“删删除”选项,就就可从DattaGridd控件中删除除该字段,也也可选择“属属性”选项修修改字段的显显示宽
21、度或字字段标题。图9.14所示示为具有增、删删、改功能的的数据网格绑绑定。标有号号的记录行表表示允许增加加新记录。图9.14 具有增、删删、改功能的的数据网格绑绑定954 使使用数据窗体体向导Visual Basicc 6.0提提供了一个功功能强大的数数据窗体向导导,通过几个个交互过程,便便能创建前面面介绍的ADDO数据控件件和绑定控件件,构成个个访问数据的的窗口。数据据窗体向导属属于外接程序序,在使用前前必须从Visuaal Bassic 6.0集成开发发环境的横向向菜单中点击“外接接程序”,再再点击子菜单单的“外接程程序管理器”,从打开的“外接程序管理器”窗口选择 “VB 6数据窗体向导”
22、 命令,将数据窗体装入到“外接程序”中。这里以Studdent.mmdb数据库库的基本情况况表作为数据据源来说明数数据访问窗口口建立的过程程。 例9.7 使用用数据窗体向向导建立Sttudentt.mdb数数据库的数据据访问对话框框。 步骤11:执行“外外接程序”菜菜单中的“数数据窗体向导导”命令,进进入“数据窗窗体向导-介介绍”对话框框,可以利用用先前建立的的数据窗体信信息配置文件件创建外观相相似的数据访访问窗体,选选择“无”将将不使用现有有的配置文件件。 步骤22:单击“下下步”按钮钮,进入“数数据窗体向导导-数据库类类型”对话框框,可以选择择任何版本的的Accesss数据库或或任何ODB
23、BC兼容的用用于远程访问问的数据库。本本例中选择AAccesss数据库。 步骤33:在“数据据窗体向导数据库”对对话框内选择择具体的数据据库文件。本本例为Stuudent.mdb数据据库。步骤4:在“数数据窗体向导导Formm”对话框内内设置应用窗窗体的工作特特性。其中,在“窗体体名称为”文文本框输入将将要创建的窗窗体名;“窗窗体布局”指指定窗口内显显示数据的类类型,可以按按单条记录形形式显示,也也可以按数据据网格形式同同时显示多条条记录;绑定定类型用于选选择连接数据据来源的方式式,可以使用用ADODCC数据控件访访问数据,也也可以使用AADO对象程程序代码访问问数据。本例例窗体名为ffrmj
24、bqqk,选“单单个记录”形形式,使用“AADO数据控控件”访问数数据。步骤5:在“数数据窗体向导导-记录源”对对话框内选择择所需要的数数据。 其中,“记记录源”下拉拉式列表框用用于选择数据据库中的表单单,本例选择择“基本情况况”表;窗口口中间的4个个箭头按钮用用于选定字段段,“列排序序按”下拉式式列表框用于于选择排序依依据。步骤6:在“数数据窗体向导导-控件选择择”对话框内内,选择所创创建的数据访访问窗体需要要提供哪些操操作按钮。步骤7:进入“数数据窗体向导导已完成”对对话框,可以以将整个操作作过程保存到到一个向导配配置文件.rrwp中。单击“完成”按按钮结束数据据窗体向导的的交互,此时时向
25、导将自动动产生数据访访问对话框的的画面及代码码。可以对产产生的窗体布布局形式进行行调整或在此此基础上加上上其他控件对对象。图9.15为调整照片片位置的数据据访问对话框框运行结果。各各按钮的程序序代码不难理理解,请读者者自己阅读。图9.15 数据窗体向向导创建的数数据访问对话话框图9.16为窗窗体布局(步步骤4)选定定网格(数据据表)形式的的数据访问窗窗口运行结果果。图9.17所示为窗体体布局选定主主表细表形形式,以基本本情况表作为为主表,学生生成绩表为细细表所建立的的数据访问窗窗口。图9.18为窗体布局局(步骤4)选定MSHHFlexGGrid数据据网格形式的的数据访问窗窗口运行结果果。图9.
26、16 选定网格(数据表)形形式 图9.18 选定MMSHFleexGridd数据网格图9.17 选定主表表细表形式式96 VB中中SQL的实实现SQL中使用SSELECTT语句实现查查询,SELLECT语句句基本上是数数据库记录集集的定义语句句。Dataa控件的ReecordSSourcee属性不定定是数据表名名,可以是数数据表中的某某些行或多个个数据表中的的数据组合。可可以直接在DData控件件的RecoordSouurce属性性栏中输入SSQL,也可可在代码中通通过SQL语语句将选择的的记录集赋给给数据控件的的RecorrdSourrce属性,也也可赋予对象象变量。例9.8 将例9.5中的
27、查查找功能改用用SQL语句句处理,显示示某专业的学学生记录。使用SQL语句句查询只要将将例9.5中命令令按钮Commmand55_Clicck事件写为为如下代码:Privatee Sub Commaand5_CClick() Dim mmzy Ass Striing mzy = InpuutBox$(请输入入专业, 查找窗) Data11.RecoordSouurce = Sellect * Fromm 基本情况况 Wherre 专业 = & mzyy & Data11.Refrresh If Daata1.RRecorddset.EEOF Thhen MsggBox 无此专业!, , 提示
28、Datta1.ReecordSSourcee = 基基本情况 Datta1.Reefreshh End IIfEnd Subb 程序中中“Seleect *”选选择表中所有有字段(也可可以指定选择择部分列);“Fromm基本情况”短短语指定数据据来源;“WWhere 专业 = & mzy & ”短短语构成查询询条件,用于于过滤表中的的记录;Daata1.RRefressh方法激活活这些变化。此此时,若Daata1.RRecorddset.EEOF为Trrue,表示示记录过滤后后无数据,重重新打开原来来的基本情况况表。注意:代码中的的两处Reffresh语语句不能合用用为一句,这这是因为在执执行
29、了Sellect命令令后,必须激激活这些变化化,然后才能能判断记录集集内有无数据据。也可用SQL语语句实现模糊糊查询,命令令按钮Commmand55_Clicck事件改为为如下代码:Privatee Sub Commaand5_CClick() Dim mmzy Ass Striing mzy = InpuutBox$(请输入入专业, 查找窗) Data11.RecoordSouurce = Sellect * Fromm 基本情况况 Wherre 专业 like * & mzy & * Data11.Refrresh If Daata1.RRecorddset.EEOF Thhen Msgg
30、Box 无此专业!, , 提示 Datta1.ReecordSSourcee = 基基本情况 Datta1.Reefreshh End IIfEnd Subb 例9.9 用SSQL语句从从Studeent.mddb数据库的的两个数据表表中选择数据据构成记录集集,并通过数数据控件浏览览记录集。在窗体上放置与与例9.2类似的的控件,如图图9.20所示示。Dataa控件的DaatabasseNamee属性指定数数据库Stuudent.mdb,RRecorddSourcce属性空缺缺,各文本框框的DataaSourcce=Datta1,DaataFieeld属性分分别设置为学学号、姓名、课课程、成绩,
31、而而照片字段绑绑定图形框。本例要求从基本本情况中选择择学生的学号号、姓名、照照片,从学生生成绩表中选选择该学生的的课程和成绩绩来构成记录录集,可在FForm_ Load事事件中使用SSQL语句,通通过“Wheere 学生生成绩表.学学号=基本情情况.学号”短短语实现两表表之间的连接接,用Sellect命令令从学生成绩绩表中选择课课程、成绩字字段,从基本本情况表中选选择学号、姓姓名和照片字字段构成记录录集:Privatee Sub Form_Load() Data1.RecorrdSourrce = Seleect 基本本情况.学号号,基本情况况.姓名,基基本情况.照照片,学生成成绩表.课程程,
32、学生成绩绩表.成绩 From 学生成绩表表,基本情况况 Wherre 学生成成绩表.学号号=基本情况况.学号End Subb 当窗体体启动后,数数据显示如图图 9.19所示,数数据控件上的的箭头按钮可可改变记录位位置。如果要要求显示的记记录按一定的的顺序排列,可可使用ORDDER BYY子句。图 9.19 数据显示示注意:当FROOM子句列出出多个表时,它它们出现的顺顺序并不重要要。Seleect短语中中字段的排列列决定了所产产生的记录集集内每一列数数据的排列顺顺序。为了提提高可读性可可以重新排序序表中的字段段。例9.10 用用SQL指令令按专业统计计Studeent.mddb数据库中中各专业
33、的人人数,要求按按图9.20所示形式输输出。在窗体上放置一一个Dataa控件和一个个网格控件MMSFlexxGrid11。Dataa1的DattabaseeName属属性指定数据据库Studdent.mmdb,网格格控件的DaataSouurce=DData1。图9.20 通过数据控控件浏览记录录集 为了统统计各专业的的人数,需要要对基本情况况表内的记录录按专业分组组。“Grooup Byy专业”可将将同一专业的的记录合并成成一条新记录录。要记录统统计结果,需需要构造一个个输出字段,此此时可使用SSQL的统计计函数Couunt()作作为输出字段段,它按专业业分组创建摘摘要值。若希希望按用户要要
34、求的标题显显示统计摘要要值,可用AAs短语命名名一个别名。“按按专业统计人人数”按钮的的指令代码为为:Privatee Sub Commaand1_CClick() Data11.RecoordSouurce = sellect 专专业,couunt(*) as 人人数 froom 基本情情况 grooup byy 专业 Data11.RefrreshEnd Subb 运行结果如如图9.21。图9.21 使用SQLL的统计函数数 有时,我们们只要返回一一定数量的记记录,如获取取平均成绩最最好的前5名名,则“按平平均成绩统计计前5名” 按钮的指令令代码为:Privatee Sub Commaan
35、d2_CClick() Data11.RecoordSouurce = sellect ttop 5 学号,avvg(成绩) as 平平均成绩 ffrom 学生成绩表表 grouup by 学号 orrder bby avgg(成绩) desc Data11.RefrreshEnd Subb这里,“Grooup byy 学号”短短语将同一学学生的各门课课程的记录合合并成一条记记录,由Avvg(成绩)计算出该学学生的平均成成绩,“Orrder BBy Avgg(成绩) Desc”短短语按平均成成绩的降序排排列数据,“TTop 5”短短语返回最前前面的5条记记录。如果不不包括ORDDER BYY子
36、句,查询询将从学生成成绩表中返回回随机的5条条记录。“恢恢复原表内容容”按钮的指指令代码为:Privatee Sub Commaand3_CClick()Data1.RRecorddSourcce = 基本情况Data1.RRefresshEnd Subb以上介绍的是在在Data控控件上使用SSQL,如果果要在ADOO数据控件上上使用SQLL语句,最好好通过代码配配合ADO数数据控件完成成数据库的连连接,这可给给程序带来更更大的灵活性性。例9.11 我们将例99.9中的DData控件件改用ADOO数据控件,用用SQL语句句从Studdent.mmdb数据库库的两个数据据表中选择数数据构成记录录
37、集。 将Daata控件改改用ADO数数据控件Addodc1,各各文本框的DDatasoource=Adodcc1,DattaFielld属性分别别设置为学号号、姓名、课课程、成绩,而而字段照片绑绑定图形框。ADO数据控件件的ConnnectioonStriing属性设设置为与数据据源连接的相相关信息,通通过操作完成成与studdent.mmdb的数据据连接(此时时,可查看到到ConneectionnStrinng属性的内内容);DaataSouurce指定定连接的数据据库文件名,如如图9.22。图9.22 使用ADO数数据控件即DataSoource属属性使用SQQL语句:select 学生成
38、绩绩表.*,基基本情况.姓姓名,基本情情况.照片 from 学生成绩表表,基本情况况 wherre 学生成成绩表.学号号=基本情况况.学号程序执行后将产产生与图9.22所示相同的的效果。例9.12 设计一个窗窗体,计算SStudennt.mdbb数据库内学学生成绩表中中每个学生的的平均成绩,产产生姓名、平平均成绩和最最低成绩三项项数据,按平平均成绩降序序排列数据,并并用该数据作作图。 学生成成绩表中没有有平均成绩和和最低成绩这这两项数据,可可以在SELLECT子句句内使用统计计函数AVGG()和Miin()产生生,“Grooup BBy学号”可可将同一学生生的记录合并并成一条新记记录。学生成成
39、绩表中没有有姓名字段,故故需要通过条条件“基本情情况.学号=学生成绩表表.学号”从从基本情况表表取得。然后后,将产生的的记录集连接接到ADO数数据控件上。 要显示示作图数据,可可在窗体上放放置一个网格格控件(选择择工程部件件中Micrrosoftt Dataa Gridd Conttrol 66.0 (OOLEDB)),设置网网格的DattaSourrce=Addodcl,将将其绑定到AADO数据控控件上。此例例将Adoddc1控件的的Visibble属性设设为Falsse,故在图图9.22中看不到AAdodc11控件。 要绘制制图表,可使使用绑定控件件MsChaart。MssChartt控件
40、也是一一个Actiive X控控件,需要通通过“工程部件”菜单单命令,将MMsCharrt控件添加加到工具箱中中。要将作图图数据传送到到Mschaart控件,只需要设置置MsChaart1.DDataSoource=Adodcc1。如果只只要选择部分分数据作图,可可以将作图数数据存入到数数组,再设置置MsChaart1.DData=数数组名即可。 将AAdodcll的RecoordSouurce属性性设置为SQQL语句,代代码如下:”selectt 基本情情况.姓名,avg(成成绩) ass 平均成绩绩,min(成绩) aas 最低成成绩 froom 学生成成绩表,基本本情况 whhere 学
41、学生成绩表.学号=基本本情况.学号号 grouup by 学生成绩表表.学号,基基本情况.姓姓名 ordder byy avg(成绩) ddesc”程序执行后将产产生图9.23所示的效果果。图9.23 显示作图图数据97 VBB中使用ODDBC在VB环境开发发数据库应用用时,与数据据库连接和对对数据库的数数据操作是通通过ODBCC、Micrrosoftt Jet(数据库引擎擎)等实现的的。Micrrosoftt Jet主主要用于本地地数据库,而而在CS结结构的应用中中一般用ODDBC。例9.13 使用ADOO数据控件,设设计一个简单单窗体,用来来扫描stuudent.mdb数据据库的基本情情况
42、表。窗体体中几个约束束数据文本框框绑定到连接接表中当前记记录的ADOO数据控件。这这个项目不需需编程,步骤骤如下:步骤1:开始新新项目,并在在项目工具箱箱中加进ADDO数据控件件。 步骤22:在窗体上上放一个ADDO数据控件件的实例。 步骤33:右键单击击控件,并从从弹出菜单中中选择“ADDODC属性性”命令(或或单击Adoodc1的CConnecctionSStringg属性旁的“”按钮),打打开ADO数数据控件的属属性页。 步骤44:选择“通通用”标签,并并选择“使用用ODBC数数据资源名称称”单选项。 步骤55:现在要指指定数据源(ADO数据据控件联系的的数据库)。可可以看出,可可以指定
43、多种种数据库,但但应用程序用用相同的方法法处理。不管管实际提供表表格的数据库库为何种形式式,它用相同同的语句访问问表格及其记记录。 数据源源名就是系统统知道的数据据库名。数据据源名只要生生成一次,此此后任何应用用程序都可以以使用。如果果系统上没有有数据源名,则则按下列步骤骤生成新的数数据源名: 1.单单击“新建”按按钮,打开“创创建新数据源源”窗口。在在这个窗口中中可以选择数数据源类型,选选项包括: 文件数数据源 所有用户均均可以访问的的数据库文件件。 用户数数据源 只有你能访访问的数据库库文件。 系统数数据源 能登录该机机器的任何用用户都能访问问的数据库文文件。 2选选择“系统数数据源”,以
44、以便从网上登登录测试锁定定机制(如果果在网络环境境中)。 3单单击“下一步步”按钮显示示“创建新数数据源”窗口口,指定访问问数据库所用用的驱动程序序。 驱动程序必须符符合数据库。可可以看出,数数据源可以是是个大数据库库,包括Acccess、OOraclee、 SQLL Servver。本例例采用Acccess数据据库。 4选选择Micrrosoftt Acceess Drriver,并并单击“下一一步”按钮。 新窗口口指出,已选选择了系统数数据源并用AAccesss驱动程序访访问。 5单单击“完成”按按钮,生成数数据源。 这时就就可以指定将将哪个Acccess数据据库赋予新建建的数据源。在在出
45、现的“OODBC MMicrossoft AAccesss 安装”窗窗口中,执行行如下操作步步骤: 6在在第一个框中中,指定数据据源名mysstudennt,在“描描述”框中,输输入简短说明明:studdent数据据源(说明可可以空缺)。 7单单击“选择”按按钮,并通过过“选定数据据库”窗口选选择数据库,找找到VB988文件夹中的的studeent.mddb(假设sstudennt.mdbb存放在此)。 8回回到ADO数数据控件的属属性页时,新新的数据源即即会出现在“使使用ODBCC数据资源名名称”下拉清清单中。步骤6:展开下下拉清单,并并选择mysstudennt数据源。实际上,这就指指定了
46、要使用用的数据库(类似于设计计Data控控件的DattabaseeName属属性)。下一个任务是,选选择ADO数数据控件能看看到的数据库库记录(表格格或SQL语语句返回的记记录集)。 步骤77:切换到“记记录源”标签签(或单击AAdodc11的RecoordSouurce属性性旁的“”按按钮)。 步骤88:在“命令令类型” 下下拉清单中,选选择adCmmdTablle项目,这这是记录源的的类型。 步骤99:在“表或或存储过程名名称”下拉的的清单中出现现数据库中的的所有表名。选选择基本情况况表。 Adoodc1控件件的RecoordSouurce属性性栏中出现sstudennt.mdbb数据库的
47、基基本情况表。步骤10:将四四个文本框控控件和四个标标题控件放在在窗体上。将将它们的DaataSouurce=AAdodc11,DataaFieldd分别设置为为学号、姓名名、专业、出出生年月。 Mysttudentt数据源已经经注册到系统统上,不必再再次生成。它它会自动出现现在ADO数数据控件属性性页的“使用用ODBC数数据资源名称称”下拉清单单中。 运行结果果如图9.24。图9.24 使用ADOO数据控件及及ODBC例9.14 ADO数据据控件使用自自己的高级约约束数据控件件,即DattaListt和DataaComboo控件。本例要求在DaataLisst控件中显显示学号,要要将Data
48、aList控控件与ADOO数据控件连连接,使用户户每次选择清清单中的新学学号,窗体上上的文本框中中出现相应的的字段。要使用DataaList和和DataCCombo控控件,首先要要将其加进工工具箱。步骤骤如下: 1选选择“工程|部件”菜单单,打开“部部件”对话框框,选取“MMicrossoft DDataLiist Coontrolls 6.00(OLEDDB)”复选选项。 2将将DataLList控件件的实例放在在窗体上。 3要要用基本情况况表中的学号号建立DattaListt控件,设置置属性RowwSourcce= Addodc1,LListFiield=学学号。 如果这这时运行应用用程序
49、,则会会自动生成DDataLiist控件,但但清单中所选选的学号对约约束数据控件件没有影响。我我们要加入一一些代码,在在清单中每次次选择另一学学号时,移动动ADO数据据控件,具体体方法如下:Privatee Sub DataLList1_Clickk() Adodcc1.Reccordseet.Boookmarkk = DaataLisst1.SeelecteedItemmEnd Subb 每次单单击清单中的的新项目时,这这个项目就成成为ADO数数据控件的书书签。 大多数情况下,用用于自动建立立DataLList控件件的数据通常常没有排序。如如果DataaList控控件中学号没没有排序,就就无
50、法方便地地找到清单中中的项目。要要使DataaList控控件中学号排排序,按如下下步骤修改AADO数据控控件的ReccordSoource属属性: 1.设设计图9.25所示的窗体体。 2.右右键单击Addodc1控控件,并在属属性页中将“OODBC 数数据源名”设设置为mysstudennt。 3切切换到“记录录源” 标签签,指定SQQL 语 图9.255 Adoodc1控件件句而不是表格:将“命令类类型”设置为为 aadCmdUUnknowwn,并在“命命令文本”框框中输人下列列SQL语句句: sellect * fromm 基本情况况 ordder byy 学号 例9.15 用外接程序序的
51、数据窗体体向导创建主主细表(数据据库studdent.mmdb中的主主表是基本情情况表,细表表是学生成绩绩表)。步骤1:选择 “外接程序序”的“数据据窗体向导”菜菜单(如菜单单中无此选项项,可通过“外外接程序”的的“外接程序序管理器”加加载“VB 6 数据窗窗体向导”),出出现“数据窗窗体向导介绍”窗口口,选择“无无”,单击下下一步;步骤2: 在“数数据窗体向导导数据库库类型”窗口口“选择Reemote(ODBC)”,单击下下一步;步骤3: 在“数数据窗体向导导连接信信息”窗口,在DSN(数数据源名)栏栏选择已定义义的数据源mmystuddent,单单击下一步;步骤4: 在“数数据窗体向导导Formm”窗口,在在“窗体名称称为”文本框框中输入窗体体名称,本例例输入frmm_jbqkk;窗体布局局选择“主表表/细表”,单单击下一步;步骤5: 在“数数据窗体向导导主表记录录源”窗口选选择主表及其其字段,本例例在“记录源源” 文本框框选择主表为为“基本情况况”,在“可可用字段”中中挑选字段学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 照明灯具的都市照明规划考核试卷
- 炼油厂设备故障诊断与维修技术研讨考核试卷
- 放射性金属矿水文地质研究与工程应用考核试卷
- 工艺美术品标准化生产考核试卷
- 港口物流业务流程重组考核试卷
- 染整企业市场动态监测与战略应对考核试卷
- 制药设备在基因工程药物生产中的应用考核试卷
- 毛皮制品的市场营销策略创新与实践考核试卷
- 中正集团交易合同标准文本
- 人防合同标准文本
- 第5课+光色交汇+课件-2024-2025学年浙人美版(2024)初中美术七年级下册
- 临沂考科目一试题及答案
- 2025年初级等保测评试题及答案
- 2025年全国中小学生安全知识竞赛参考试题库500题(含答案)
- DB11∕T493.1-2024道路交通管理设施设置规范 第1部分:道路交通标志
- 教师如何使用AI开展教学DeepSeek使用指南人工智能 课件
- 2025新人教版七年级下语文-4.16《有为有不为》教案教学设计
- 如何做好护理实习生的带教
- (二调)武汉市2025届高中毕业生二月调研考试 生物试卷(含标准答案)
- 2025年宁夏建设职业技术学院单招职业倾向性测试题库一套
- 《智能家居控制系统方案》课件
评论
0/150
提交评论