资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
VB数据库编程
9 4 1 ODBC概述
在传统的数据库管理系统中, 每个数据库管理系统都有自己的应用程序开发接口(API) ,应用程序使用数据库系统所提供的专用开发工具(如嵌入式SQL语言)进行开发,这样的应用程序只能运行在特定的数据库系统环境下,适应性和可移植性比较差。在用户硬件平台或操作系统发生变化时,应用程序需要重新编写。嵌入式SQL语言的另一个缺点是它只能存取某种特定的数据库系统, 因此一个应用程序只能连接同类的DBMS,而无法同时访问多个不同的DBMS,而在实际应用中一般是需要同时访问多个不同的DBMS的。例如,在一个单位中, 财务、 生产和技术等部门常根据自身专业的特点选择不同的DBMS,而建立企业级管理信息系统时, 需要同时访问各个部门的数据库。这种情况下传统的数据库应用程序开发方法就难以实现。 为了解决这些问题, 微软公司开发了 ODBC(OpenDataBase Connectivity, 即开放数据库互连) 。
ODBC是Microsoft公司开发的一套开放数据库系统应用程序接口规范, 当前它已成为一种工业标准, 它提供了统一的数据库应用编程接口(API) , 为应用程序提供了一套高层调用接口规范和基于动态连接库的运行支持环境。使用ODBC开发数据库应用时,应用程序调用的是标准的ODBC函数和SQL语句,数据库底层操作由各个数据库的驱动程序完成。因此应用程序有很好的适应性和可移植性,而且具备了同时访问多种数据库管理系统的能力,从而彻底克服了传统数据库应用程序的缺陷。
9 4 2 ODBC体系结构
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
ODBC驱动程序类似于Windows下的打印驱动程序,对用户来说,驱动程序屏蔽了不同对象(数据库系统或打印机)间的差异。 同样地, ODBC屏蔽了DBMS之间的差异。 ODBC的体系结构如图9. 12所示。
1 ODBC数据库应用程序
应用程序的主要任务包括:建立与数据源的连接; 向数据源发送SQL请求;接收并处理请求的结果;断开与数据源的连接等。
SQ
图9. 12 ODBC的体系结构
2驱动程序管理器
驱动程序管理器是一个Windows下的应用程序,在Windows 95和Windows NT环境下的控制面板上分别显示为” 32位ODBC”图标和” ODBC”图标。如果在Windows 95和WindowsNT环境下没有这个图标, 说明没有安装ODBC驱动程序管理器。此软件可从Windows 95操作系统、 Microsoft VC++、 Microsoft VB等软件中获得。此管理器的主要作用是用来装载ODBC驱动程序、 管理数据源、 检查ODBC参数的合法性等。
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
3 DBMS驱动程序
ODBC应用程序不能直接存取数据库, 它将所要执行的操作提交给数据库驱动程序,经过驱动程序实现对数据源的各种操作,数据库操作结果也经过驱动程序返回给应用程序。
4数据源
数据源是指任一种能够经过ODBC连接的数据库管理系统, 它包括要访问的数据库和数据库的运行平台。数据源名掩盖了数据库服务器或数据库文件间的差别,经过定义多个数据源,每个数据源指向一个服务器名,就可在应用程序中实现同时访问多个DBMS的目的。
数据源(Data Source Name, 简称DSN)是驱动程序与DBS连接的桥梁,数据源不是DBS,而是用于表示一个ODBC驱动程序和DBMS特殊连接的命名。在连接中, 用数据源名来代表用户名、 服务器名、 所连接的数据库名等, 能够将数据源名看成是与一个具体数据库建立的连接。
数据源分为以下三类:
(1)用户数据源:用户创立的数据源,称为”用户数据源” 。此时只有创立者才能使用,而且只能在所定义的机器上运行。任何用户都不能使用其它用户创立的用户数据源。
(2)系统数据源:所有用户和在Windows NT下以服务方式运行的应用程序均可使用系统数据源。
(3)文件数据源:文件数据源是ODBC 3.0以上版本增加的一种数据源,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。
总之, ODBC提供了在不同数据库环境中为CS结构的客户机访问异构数据库的接口,也就是在由异构数据库服务器构成的客户机服务器结构中,要实现对不同数据库进行的
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
数据访问,就需要一个能连接不同的客户机平台到不同服务器的桥梁, ODBC就是起这种连接作用的桥梁。 ODBC提供了一个开放的、 标准的能访问从PC机、 小型机到大型机数据库数据的接口。使用ODBC标准接口的应用程序, 开发者能够不必深入了解要访问的数据库系统, 比如其支持的操作和数据类型等信息,而只需掌握通用的ODBC API编程方法即可。使用ODBC的另一个好处是当作为数据库源的数据库服务器上的数据库管理系统升级或转换到不同的数据库管理系统时,客户机端应用程序不需作任何改变, 因此利用ODBC开发的数据库应用程序具有很好的移植性。
9 5 ADO数据控件
9 5 1 ADO对象模型
ADO(ActiveX Data Object)数据访问接口是Microsoft处理数据库信息的最新技术。它是一种ActiveX对象,采用了被称为OLE DB的数据访问模式, 是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种方式的扩展。 ADO对象模型定义了—个可编程的分层对象集合, 主要由三个对象成员Connection、 Command和Recordset对象, 以及几个集合对象Errors、 Parameters和Fields等所组成。 图9. 13示意了这些对象之间的关系。表9.6是对这些对象的分工描述。
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
图9象. 13 ADO对象模型
表9.6 ADO对象描述
要想在程序中使用ADO对象, 必须先为当前工程引用ADO的对象库。引用方式是执行”工程”菜单的”引用”命令, 启动引用对话框, 在清单中选取” Microsoft ActiveXData Objects 2.0 Library”选项。
9 5 2使用ADO数据控件
在使用ADO数据控件前, 必须先经过”工程|部件”菜单命令选择"Microsoft ADODataControl 6.0(OLEDB) ”选项,将ADO数据控件添加到工具箱。ADO数据控件与VisualBasic的内部Data控件很相似, 它允许使用ADO数据控件的基本属性快速地创立与数据库的连接。
1 ADO数据控件的基本属性
(1)ConnectionString属性
ADO控件没有DatabaseName属性, 它使用ConnectionString属性与数据库建立连接。
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
该属性包含了用于与数据源建立连接的相关信息, ConnectionString属性带有4个参数,如表9. 7所示。
(2)RecordSource属性
RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值能够是数据库中的单个表名, 一个存储查询, 也能够是使用SQL查询语言的一个查询字符串。
表9. 7 ConnectionString属性参数
(3)ConnectionTimeout属性
用于数据连接的超时设置,若在指定时间内连接不成功显示超时信息。
( 4) MaxRecords属性
定义从一个查询中最多能返回的记录数。
2. AD O数据控件的方法和事件
ADO数据控件的方法和事件与Data控件的方法和事件完全一样。
3设置ADO数据控件的属性
下面经过使用ADO数据控件连接Student.mdb数据库来说明ADO数据控件属性的设置。
步骤1 :在窗体上放置ADO数据控件,控件名采用默认名” Adodcl” 。
步骤2:单击ADO控件属性窗口中的ConnectionString属性右边的”…”按钮, 弹出”属性页”对话框。在该对话框中允许经过三种不同的方式连接数据源:
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
”使用连接字符串”只需要单击”生成”按钮,经过选项设置自动产生连接字符串。
”使用Data Link文件”表示经过—个连接文件来完成。
”使用ODBC数据资源名称”能够经过下拉式列表框,选择某个创立好的数据源名称(DSN) , 作为数据来源对远程数据库进行控制。
步骤3:采用”使用连接字符串”方式连接数据源。单击”生成”按钮, 打开”数据链接属性”对话框。在”提供者”选项卡内选择一个合适的OLE DB数据源, Student.mdb是Access数据库,选择” Microsoft Jet 3. 51 OLEDBProvider”选项。然后单击”下—步”按钮或打开”连接”选项卡,在对话框内指定数据库文件,这里为Student.mdb。为保证连接有效, 可单击”连接”选项卡右下方的”测试连接”按钮, 如果测试成功则关闭ConnectionString属性页。
步骤4:单击ADO控件属性窗口中的RecordSource属性右边的”…”按钮, 弹出记录源属性页对话框。
在”命令类型”下拉式列表框中选择” 2 adCmdTable”选项, 在”表或存储过程名称”下拉式列表框中选择Student.mdb数据库中的”基本情况”表, 关闭记录源属性页。此时, 已完成了ADO数据控件的连接工作。
由于ADO数据控件是一个ActiveX控件, 也能够用鼠标右键单击ADO数据控件,在弹出的快捷菜单中选择” ADODC属性”菜单命令, 打开ADO数据控件属性页对话框, 一次完成步骤1~步骤4的全部设置。
9 5 3 ADO数据控件上新增绑定控件的使用
随着ADO对象模型的引入, Visual Basic 6.0除了保留以往的一些绑定控件外,又提
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
供了一些新的成员来连接不同数据类型的数据。这些新成员主要有DataGrid、 DataCombo、DataList、 DataReport、 MSHFlexGrid、 MSChart控件和MonthView等控件。这些新增绑定控件必须使用ADO数据控件进行绑定。
Visual Basic 6.0在绑定控件上不但对DataSource和DataField属性在连接功能上作了改进, 又增加了DataMember与DataFormat属性使数据访问的队列更加完整。DataMember属性允许处理多个数据集, DataFormat属性用于指定数据内容的显示格式。
例9.6 使用ADO数据控件和DataGrid数据网格控件浏览数据库Student.mdb, 并使之具有编辑功能。
在窗体上放置ADO数据控件, 并按前面介绍的ADO数据控件属性设置过程连接数据库Student.mdb中的基本情况表。
DataGrid控件允许用户同时浏览或修改多个记录的数据。在使用DataGrid控件前也必须先经过”工程|部件”菜单命令选择” Microsoft DataGrid Control 6.0(OLEDB) ”选项,将DataGrid控件添加到工具箱,再将DataGrid控件放置到窗体上。设置DataGrid网格控件的DataSource属性为Adodc1,就可将DataGrid1绑定到数据控件Adodc1上。
显示在DataGrid 网格内的记录集, 能够经过DataGrid控件的AllowAddNew、AllowDelete和AllowUpdate属性设置控制增,删、 改操作。
如果要改变DataGrid网格上显示的字段,可用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择”检索字段”选项。 Visual Basic提示是否替换现有的网格布局,单击”是”按钮就可将表中的字段装载到DataGrid控件中。再次用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择”编辑”选项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时, 鼠标指针变成黑色向下箭头。用鼠标右键单击需要修改的字段名,在弹出的快捷菜单中选择”删除”选项, 就可从DataGrid控件中删除该字段, 也可选
资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。
择”属性”选项修改字段的显示宽度或字段标题。
图9. 14所示为具有增、 删、 改功能的数据网格绑定。标有 号的记录行表示允许增加新记录。
图9. 14 具有增、 删、 改功能的数据网格绑定
9 5 4使用数据窗体向导
Visual Basic 6.0提供了一个功能强大的数据窗体向导,经过几个交互过程,便能创立前面介绍的ADO数据控件和绑定控件, 构成—个访问数据的窗口。数据窗体向导属于外接程序,在使用前必须从VisualBasic6.0集成开发环境的横向菜单中点击”外接程序” ,再点击子菜单的”外接程序管理器” , 从打开的”外接程序管理器”窗口选择” VB 6数据窗体向导” 命令,将数据窗体装入到”外接程序”中。
这里以Student.mdb数据库的基本情况表作为数据源来说明数据访问窗口建立的过程。
例9. 7 使用数据窗体向导建立Student.mdb数据库的数据访问对话框。
步骤1 :执行”外接程序”菜单中的”数据窗体向导”命令,进入”数据窗体向导-介绍”对话框, 能够利用先前建立的数据窗体信息配置文件创立外观相似的数据访问窗体,
小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...
前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...
Boomer.Host是一家比较新的国外主机商,虽然LEB自述 we’re now more than 2 year old,商家提供虚拟主机和VPS,其中VPS主机基于OpenVZ架构,数据中心为美国得克萨斯州休斯敦。目前,商家在LET发了两款特别促销套餐,年付最低3.5美元起,特别提醒:低价低配,且必须年付,请务必自行斟酌确定需求再入手。下面列出几款促销套餐的配置信息。CPU:1core内存:...