
第14章S0LS0rvr编程接口 (计算机与用户交互的图形化界面)程序设计的基本方法,通常是使用程序设计语言作为 前台,与后台的量据岸进行链接,通过桌面用户调用包括数暴岸在内的各种资源,完成管理 信息系统的应用。本章将讨论通过0C或A0访间S如Server数据库,以及通过 VisualBasic.、PowerB面ilder、C+Builder6程序设计语言对数据库中的数据对象进行操作 处理。 14.1通过006访间S0 LServer数据库 14.1.1006C的版速 COC(OpenDatabaseConnectivity》是一种大而灵活的数据库访月标准,通过一组标准 的函数调用PI)来实现数据库访月的。0心C虽然可以使用一个0心8C应用程序来访问本地 心数据岸上的数据,但是它主要用于访问在多操作系统平台上的数暴岸。BCAPI是鞋立于 数据库的,表面上它是由一组函数调用组成的,但是C0C的核心是S。0C函数的主费 功能便是将SL语句发送到目标数据库中,然后处理这些SL语句产生的结果。 1.OBC组件 CC使用的分层体系结构包括:0BC应用程序、驱动程序管理器、OC动程序和数 架复。为了有助于群解应用程序1何关联DC体系结构,下面对它们分别如以介绍: (1DC应用程序 0BC应用程序是一种使用YisualBasic、Visa1C+或者其他C开发平台编写的,类似 于ord,Excel成者V1 sualBas1c等的应用程序。该应用程序与0C驱动程序管理器 (ODC32.L)进行静态或动态链接,且调用由C更动程序管理器提供的0 DBCAPI两数, (20C玉动程序管理墨 因为0BC应用程序不能够直接调用0心6影动程序,只可以调用包含在0C动程序 管理器中的函数,而C驱动程序管理器可以调用相应的C驱动程序。这样,瓷保任了 (C函数无论是连接到SQLServer数据库,还是其他某个数据库平台都总是按照同一种方 式进行调用。 鬼动程序管理器负责把相应的0C壑动程序如载到内存中,并将随后的请求传送给正 确的0C里动程序。在该加载过程中,0C驱动程序管理器会建立一个指向C驱动程 序中函数的雷针表,并且使用一个称为连接句桥的标识符来确认加载的各个函数指针。 (3aCE动程序
第 14 章 SQL Server 编程接口 (计算机与用户交互的图形化界面)程序设计的基本方法,通常是使用程序设计语言作为 前台,与后台的数据库进行链接,通过桌面用户调用包括数据库在内的各种资源,完成管理 信息系统的应用。本章将讨论通过 ODBC 或 ADO 访问 SQLServer 数据库,以及通过 VisualBasic、PowerBuilder、C++Builder6 程序设计语言对数据库中的数据对象进行操作 处理。 14.1 通过 ODBC 访问 SQLServer 数据库 14.1.1ODBC 的概述 ODBC(OpenDatabaseConnectivity)是一种强大而灵活的数据库访问标准,通过一组标准 的函数调用(API)来实现数据库访问的。ODBC 虽然可以使用一个 ODBC 应用程序来访问本地 PC 数据库上的数据,但是它主要用于访问在多操作系统平台上的数据库。ODBCAPI 是独立于 数据库的,表面上它是由一组函数调用组成的,但是 ODBC 的核心是 SQL。ODBC 函数的主要 功能便是将 SQL 语句发送到目标数据库中,然后处理这些 SQL 语句产生的结果。 1.ODBC 组件 ODBC 使用的分层体系结构包括:ODBC 应用程序、驱动程序管理器、ODBC 驱动程序和数 据源。为了有助于理解应用程序如何关联 ODBC 体系结构,下面对它们分别加以介绍: ⑴ODBC 应用程序 ODBC 应用程序是一种使用 VisualBasic、VisualC++或者其他 PC 开发平台编写的,类似 于 Word、Excel 或者 VisualBasic 等的应用程序。该应用程序与 ODBC 驱动程序管理器 (ODBC32.DLL)进行静态或动态链接,且调用由 ODBC 驱动程序管理器提供的 ODBCAPI 函数。 ⑵ODBC 驱动程序管理器 因为 ODBC 应用程序不能够直接调用 ODBC 驱动程序,只可以调用包含在 ODBC 驱动程序 管理器中的函数,而 ODBC 驱动程序管理器可以调用相应的 ODBC 驱动程序。这样,就保证了 ODBC 函数无论是连接到 SQLServer 数据库,还是其他某个数据库平台都总是按照同一种方 式进行调用。 驱动程序管理器负责把相应的 ODBC 驱动程序加载到内存中,并将随后的请求传送给正 确的 ODBC 驱动程序。在该加载过程中,ODBC 驱动程序管理器会建立一个指向 ODBC 驱动程 序中函数的指针表,并且使用一个称为连接句柄的标识符来确认加载的各个函数指针。 ⑶ODBC 驱动程序

亚动程序负责把SL请求发送到关系数据库管理系统WS)中,且把发送结果返 回给C驱动程序管理器,然后,由里动程序管理器把这些请求传送给客户端应用程序。 每一种兼容0心6C的数据库军有其各自的C驱动程序,且该坚动程序只能与该数据库 本身进行通信,不能用它访问其他的数据库。母如,SOLServe00C更动程序只能访间 SQLServer数据库,不能用米访问Oracle数据库:而OraeleODBC更动程序则只旋访问0rcle 数据库,却不能用来访问SQLServer数据库, (4)量据源 烦名思义,数据源就是要访问的数据库。如果要访问一个数据库。必领首先定文一个数 据源。一般地。可使用“C数据源管理器”对话根来创建数据源,然后,使用用户创建 的名称关联一个目的关系型数据岸和心C影动程序,以便用户使用有意文的数据源名称来 访问数据库。 当0心应用程序第一次连接到一个目标数据库封,它会把数据源名称传运到C驱动 程序管理器中。然后,动程序管理器使用数据源来确定要加载哪一个心(动程序。通 过0BC,用户可以选择希望创建的数据源类型:用户S、系统S或文件SX。系统 允许所有的用户登录到特定的服务墨器上去访问数据库,可以用于系饶中的全部用户,如果要 定义的数据源是要面向所有用户的,则应选释“系统SN”选项。而用户SN使用近当的安 全身份验证来限制数据库到特定用户的连接,对于每个用户来说,它都是惟一的。文件5 用于从文本文件中获取数据,提供了对多用户的访间。 2配置0BC数据源 在使用DC之前,冬须安技一个0DC整动程序,然后再配置一个数据源。数据库宝动 程序使用Data5 ourceNane们5N)定位和标识特定的0心C兼容数据岸,将信息从应用程序传 递给数据库。典型情况下,S通常包含数据库配置、用户安全性和定位信息,且可以获取 1 ndowsNT注香表项中减文本文件的表格。 (aC数据尊名 数据源名们5)是为所要访问数据库指定的名字。通常情况下,如果要连接到一个数据 库上,则必须发送一烟参数米获得该连接,在每次要连接一个数据库时,反复地发送这些信 息实在是太麻烦了,因为这线信息是水远不改变的。因此的N的创建最适合解决这个同愿。 通过使用,可以把所有的信息都存放在一个地方,通常可以给该信息起一个名字 (①ntaSourceName,数据源名》,然后,只要想连接数据库,不用再去一着一遍地说明它门, 只需使用5线可以了,它会白动铁得所有的信息。下面分别介绍知何配置各种不月的数据
ODBC 驱动程序负责把 SQL 请求发送到关系数据库管理系统(RDBMS)中,且把发送结果返 回给 ODBC 驱动程序管理器,然后,由驱动程序管理器把这些请求传送给客户端应用程序。 每一种兼容 ODBC 的数据库都有其各自的 ODBC 驱动程序,且该驱动程序只能与该数据库 本身进行通信,不能用它访问其他的数据库。譬如,SQLServerODBC 驱动程序只能访问 SQLServer数据库,不能用来访问Oracle数据库;而OracleODBC驱动程序则只能访问Oracle 数据库,却不能用来访问 SQLServer 数据库。 ⑷数据源 顾名思义,数据源就是要访问的数据库。如果要访问一个数据库,必须首先定义一个数 据源。一般地,可使用“ODBC 数据源管理器”对话框来创建数据源,然后,使用用户创建 的名称关联一个目的关系型数据库和 ODBC 驱动程序,以便用户使用有意义的数据源名称来 访问数据库。 当 ODBC 应用程序第一次连接到一个目标数据库时,它会把数据源名称传送到 ODBC 驱动 程序管理器中,然后,驱动程序管理器使用数据源来确定要加载哪一个 ODBC 驱动程序。通 过 ODBC,用户可以选择希望创建的数据源类型:用户 DSN、系统 DSN 或文件 DSN。系统 DSN 允许所有的用户登录到特定的服务器上去访问数据库,可以用于系统中的全部用户,如果要 定义的数据源是要面向所有用户的,则应选择“系统 DSN”选项。而用户 DSN 使用适当的安 全身份验证来限制数据库到特定用户的连接,对于每个用户来说,它都是惟一的。文件 DSN 用于从文本文件中获取数据,提供了对多用户的访问。 2.配置 ODBC 数据源 在使用 ODBC 之前,必须安装一个 ODBC 驱动程序,然后再配置一个数据源。数据库驱动 程序使用 DataSourceName(DSN)定位和标识特定的 ODBC 兼容数据库,将信息从应用程序传 递给数据库。典型情况下,DSN 通常包含数据库配置、用户安全性和定位信息,且可以获取 WindowsNT 注册表项中或文本文件的表格。 ⑴ODBC 数据源名 数据源名(DSN)是为所要访问数据库指定的名字。通常情况下,如果要连接到一个数据 库上,则必须发送一组参数来获得该连接。在每次要连接一个数据库时,反复地发送这些信 息实在是太麻烦了,因为这些信息是永远不改变的。因此 DSN 的创建最适合解决这个问题。 通过使用 DSN,可以把所有的信息都存放在一个地方,通常可以给该信息起一个名字 (DataSourceName,数据源名)。然后,只要想连接数据库,不用再去一遍一遍地说明它们, 只需使用 DSN 就可以了,它会自动获得所有的信息。下面分别介绍如何配置各种不同的数据

源。 在ids操作平台下,最常见的数据库访问方法是通过0C(开放数据库连接),它 是访门数据库的一种通用方法,可以在“0C数据源管理器”中建立与各种数据库连接的 数据徽。以后各种编程语言就可以通过这个数据豫访问数据库。 (2 SQLServer数据岸系统S的配置方法 打开“C数据源管理器”的方法如下,选择“我的电酵”一“控制面板”一“管理 工具”→“数据源(00BC”命令,出现00数据源管理露,然后被可以添加、别除、配置 各种连接后台数据库的0C数据源了· ①这邦“系饶DS”标签项,单击“添加”按钮,如图141所示。 ②在面后弹出的如图12所示的创建新数据源界面中,在“选择您想为其安装数据源 的图动程序S)”的下拉列表框里,选择“SqL.Seer“,这是微软公可为SQLServer数据库 提供的标准C接口驱动程序,单击“完成”按钮。进入下一步, ③出现如图14-3所示的“创建到SQLServer的新数据源”设置界面,在“数据源名称 文本框里输入sqlserverlink,在“数据源描述”文本框里输入5 SQLServer连接,在“您想 连接哪一个SQLServer服务器”文本框里输入127.00.1。这里127.0.0.1的服务器名是指 本地鼎务器,当然也可以是近程SQLServer服务器名成IP地址。 单击“下一步”按钮,弹出一个如图14-4的话框。 这时,SqL5eer将确定应该如何验证登录D的真伪?选择“使用用户输入登录[D和 密码的SOLServer验证”,确老验证登录D的方式。此时,可以根据需要选择不同的透项, 健入运行5观服务程序的服务器的名称(如果我们在上一步时选择的是通过P地址连接服务 墨,请选择客户端配置选项,调出配置对话根)、登录D和密码。 单击“下一步”按细,弹出一个如图15的对话框。 在该对话框中,可根据需要更改默认数据库的名称,或者添加“附加数据库”文件的名 称等。 例如,在“改变默认的数据岸为”的复选框中打勾,并选择student数据岸,然后单击 “下一步”按组,打开如图116所示的对话框。 单击“光成”按扭,打开“008a1 crosoftSOServer安装”对话框。 该对话框中将会显示新创建的0C数据源的配置情况。 单击“确定”按组,完成配置SQLServer数据尊的操作 单击“测试数据源”按钮。如果S创建成功,则“测试结果”对话根会显示测试成
源。 在 Windows 操作平台下,最常见的数据库访问方法是通过 ODBC(开放数据库连接),它 是访问数据库的一种通用方法,可以在“ODBC 数据源管理器”中建立与各种数据库连接的 数据源,以后各种编程语言就可以通过这个数据源访问数据库。 ⑵SQLServer 数据库系统 DSN 的配置方法 打开“ODBC 数据源管理器”的方法如下:选择“我的电脑”→“控制面板”→“管理 工具”→“数据源(ODBC)”命令,出现 ODBC 数据源管理器,然后就可以添加、删除、配置 各种连接后台数据库的 ODBC 数据源了。 ①选择“系统 DSN”标签页,单击“添加”按钮,如图 14-1 所示。 ②在随后弹出的如图 14-2 所示的创建新数据源界面中,在“选择您想为其安装数据源 的驱动程序(S)”的下拉列表框里,选择“SQLServer”,这是微软公司为 SQLServer 数据库 提供的标准 ODBC 接口驱动程序,单击“完成”按钮,进入下一步。 ③出现如图 14-3 所示的“创建到 SQLServer 的新数据源”设置界面,在“数据源名称” 文本框里输入 sqlserverlink,在“数据源描述”文本框里输入 SQLServer 连接,在“您想 连接哪一个 SQLServer 服务器”文本框里输入 127.0.0.1。这里 127.0.0.1 的服务器名是指 本地服务器,当然也可以是远程 SQLServer 服务器名或 IP 地址。 单击“下一步”按钮,弹出一个如图 14-4 的对话框。 这时,SQLServer 将确定应该如何验证登录 ID 的真伪?选择“使用用户输入登录 ID 和 密码的 SQLServer 验证”,确定验证登录 ID 的方式。此时,可以根据需要选择不同的选项, 键入运行SQL服务程序的服务器的名称(如果我们在上一步时选择的是通过IP地址连接服务 器,请选择客户端配置选项,调出配置对话框)、登录 ID 和密码。 单击“下一步”按钮,弹出一个如图 14-5 的对话框。 在该对话框中,可根据需要更改默认数据库的名称,或者添加“附加数据库”文件的名 称等。 例如,在“改变默认的数据库为”的复选框中打勾,并选择 student 数据库,然后单击 “下一步”按钮,打开如图 11-6 所示的对话框。 单击“完成”按钮,打开“ODBCMicrosoftSQLServer 安装”对话框。 该对话框中将会显示新创建的 ODBC 数据源的配置情况。 单击“确定”按钮,完成配置 SQLServer 数据源的操作。 单击“测试数据源”按钮。如果 DSN 创建成功,则“测试结果”对话框将会显示测试成

功的消息,如图1山一8所示。否则,将会暴不测试失顺信息以及失敷的原因,可返回前面的 步骤选行修政。 ①在图14-9的“统D5N”标签页中.出现了刚才己建立好的数据源(sqlserverlink), 单击“确定”按钮,即完成5N配置的所有步裸。 注意,在配置ODC数据源以前,请确定数据库己建立完成,如果是配置SOLServer数 器惠的话还得调定SQLServer在运行状态. 14.1,2通过Excel访问SQLServer数据库 日常的工作中,我们可能遇到要将Ex心el文件中的数暴和SQLServer数据库中的数据互 创的月题,实现对实时数据的操作。若需将sL5rer信息系统中的数据倒出来,并在此基 础上利用Excel对其进行分析整理,下面就将介馆利川CO0C将SQL.Server数据倒入到Excel 文件中的有关方法。 刊用0心BC实现动态数据交换的前提条件很简单,贝需先在本机安装微软0下1CE中的 Exc©l,然后根据需要运行编写的SqL文件。下面镜一步一步米说明: ()首先配置006C数据源。在控制面板中,选GC数据源,添加选安装 0 DBCFORSQL5 Server,.在给定数暴源名称和情运时,用户可白定义,用户名称和服务器则需根 据在SQLServer数据库中设置好的数据库名米设置。例如:数据源名称为sqlserverlink, 描述为SQLServer连接,用户名称为sa,密码为空. (打开xC©l,在数据菜单下,遗“获取外部数据”,单击“新建数据库查曲出联“选 择数据源”对话框。如图110所示。 (的在如图14-11所示的“选择数据源”对话框中。选择我门前面己设置好的数据潭 sqlserverlink,然后单击“确定”进入“SQLServer登录”对话框. (4)在如图14-12所示的“SQLServer登录”对话框中,输入登录D,密码.燃后单击“确 定”按细。屏做提示“正在与数据源进行连接”。 (③在如困1413所示“查面向导-选择列”对话框中,需要选释查询结果所需包含的表 和数据列,当选定了某个表中的数据列之后,查询结果中的列的文本据中将出现所这中的数 据列,同时,还可以单击“预莫“按组将对应数据列的数值出现在预览选定列中的数据文本 框中。 在“查向导-选择列”对话框中,拖动滚动途择查询结果所需包含的表为 teacher._info,选释查询结果所雷包含的数据列为teacher_id,nae,gender,ae, tech_title,telephone,salary,course_id,选择一列名则单击“)”一次。单击-下一
功的消息,如图 11-8 所示。否则,将会显示测试失败信息以及失败的原因,可返回前面的 步骤进行修改。 ④在图 14-9 的“系统 DSN”标签页中。出现了刚才己建立好的数据源(sqlserverlink), 单击“确定”按钮,即完成 DSN 配置的所有步骤。 注意,在配置 ODBC 数据源以前,请确定数据库已建立完成,如果是配置 SQLServer 数 据源的话还得确定 SQLServer 在运行状态。 14.1.2 通过 Excel 访问 SQLServer 数据库 日常的工作中,我们可能遇到要将 Excel 文件中的数据和 SQLServer 数据库中的数据互 倒的问题,实现对实时数据的操作。若需将 SQLServer 信息系统中的数据倒出来,并在此基 础上利用 Excel 对其进行分析整理,下面就将介绍利用 ODBC 将 SQLServer 数据倒入到 Excel 文件中的有关方法。 利用 ODBC 实现动态数据交换的前提条件很简单,只需先在本机安装微软 OFFICE 中的 Excel,然后根据需要运行编写的 SQL 文件。下面就一步一步来说明: ⑴首先配置 ODBC 数据源。在控制面板中,选 ODBC 数据源,添加选安装 ODBCFORSQLServer。在给定数据源名称和描述时,用户可自定义,用户名称和服务器则需根 据在 SQLServer 数据库中设置好的数据库名来设置。例如:数据源名称为 sqlserverlink, 描述为 SQLServer 连接,用户名称为 sa,密码为空。 ⑵打开 Excel,在数据菜单下,选“获取外部数据”,单击“新建数据库查询”。出现“选 择数据源”对话框。如图 14-10 所示。 ⑶在如图 14-11 所示的“选择数据源”对话框中,选择我们前面已设置好的数据源 sqlserverlink。然后单击“确定”进入“SQLServer 登录”对话框。 ⑷在如图 14-12 所示的“SQLServer 登录”对话框中,输入登录 ID,密码,然后单击“确 定”按钮。屏蔽提示“正在与数据源进行连接”。 ⑸在如图 14-13 所示“查询向导-选择列”对话框中,需要选择查询结果所需包含的表 和数据列,当选定了某个表中的数据列之后,查询结果中的列的文本框中将出现所选中的数 据列,同时,还可以单击“预览”按钮将对应数据列的数值出现在预览选定列中的数据文本 框中。 在“查询向导-选择列”对话框中,拖动滚动选择查询结果所需包含的表为 teacher_info,选择查询结果所需包含的数据列为 teacher_id,name,gender,age, tech_title,telephone,salary,course_id,选择一列名则单击“>”一次。单击“下一

步”被组进入“查面向导裤这数据对话框。 在如图14-15所示“查询向导-筛这数据”对话框中,可以辞这数据以指定查询结果 所包含的行,如果不需要蹄选数据,就直接单击“下一步”按钮选入“查询向导持序顺序” 对话框。 ()在如图145所示“查面向导排序顺序”对话框中,可以折定数据的排序方式,即 对主要关键字,次要关健字等进行升序或降序排列。如果没有对数据排序的需求,就直接单 击“下一步”按细进入“查询向导完成”对话框。 侧在如图146所示“查面向导-完成”对话框中,可以确定是将数据赵国Excl,还 是在MicrosoftQuery中查看数据减编辑查由,或者从该查询叫建0LP多维数据集,也可以 将其查询保存起来。当选择将数暴返日Excl,单击“完成”按组后即可在Excel工作表中 确定数据的做置位置。 (如图1417所示的“导入数据”对话框中主要是用于确定数据的放置位置。 单击“编辑查询”,即可返回“查询向导-选释列”。 单击“确定”,即可从SQLServer中将teacher_info中数据导入到Excel表. 执行该段查出,即可在Ex心01表中见到满足条件的记录己全部倒出米,第一行为记录 中的列名,如知图14-18所示然后可利用ExCl强大的编辑功能,对这线悬据选行分析修改, 相当方便。最后将文件保存起来线可以了。 0D如果在“查询白导-完成"对话框中选择在MicrosoftQuery中查看数暴或编辑查询”, 则出现如图14-19所示MicrosoftQery窗口。此时,完全可能根据实际需要选择雷倒出的 数据,写入SqL语句.例如: SELECTteacher_id,ne,age,tech_title,telephome,salaryFROMteacher-info:要重新执 行该文件,具需在licrosoft9ueTy窗口中透择打开该查询并执行,即可得到实时的数据, 14,1,3通过V1 sualBas1e访问S0 Server数据库 Yisua1Bsic8.0 SOLServer2000数据库应川是基于C/S模式的应川,其典型的家川开 发环境如下: ()在数据库服务器上安装SS0rveT数据库。 (白在应用客户机上需要安装连接端和利用YisualBas1G开发后的可执行程序。 (3在开发机上需要安装Visua1 Basic和SQLServer管理端. Ysn1as1c在可视化设计领域有着非常广泛的应用,它界面友好,功能强大,并且还 提供了数据库管理图、数据控件、远程数据控件以及数据访问对象等众多功能强大的工具
步”按钮进入“查询向导_筛选数据”对话框。 ⑹在如图 14-15 所示“查询向导-筛选数据”对话框中,可以筛选数据以指定查询结果 所包含的行,如果不需要筛选数据,就直接单击“下一步”按钮进入“查询向导_排序顺序” 对话框。 ⑺在如图 14-15 所示“查询向导_排序顺序”对话框中,可以指定数据的排序方式,即 对主要关键字、次要关键字等进行升序或降序排列。如果没有对数据排序的需求,就直接单 击“下一步”按钮进入“查询向导_完成”对话框。 ⑻在如图 14-16 所示“查询向导-完成”对话框中,可以确定是将数据返回 Excel,还 是在 MicrosoftQuery 中查看数据或编辑查询,或者从该查询创建 OLAP 多维数据集,也可以 将其查询保存起来。当选择将数据返回 Excel,单击“完成”按钮后即可在 Excel 工作表中 确定数据的放置位置。 ⑼如图 14-17 所示的“导入数据”对话框中主要是用于确定数据的放置位置。 单击“编辑查询”,即可返回“查询向导-选择列”。 单击“确定”,即可从 SQLServer 中将 teacher_info 中数据导入到 Excel 表。 ⑽执行该段查询,即可在 Excel 表中见到满足条件的记录已全部倒出来,第一行为记录 中的列名,如图 14-18 所示。然后可利用 Excel 强大的编辑功能,对这些数据进行分析修改, 相当方便。最后将文件保存起来就可以了。 ⑾如果在“查询向导-完成”对话框中选择“在 MicrosoftQuery 中查看数据或编辑查询”, 则出现如图 14-19 所示 MicrosoftQuery 窗口。此时,完全可能根据实际需要选择需倒出的 数据,写入 SQL 语句。例如: SELECTteacher_id,name,age,tech_title,telephone,salaryFROMteacher_info。要重新执 行该文件,只需在 MicrosoftQuery 窗口中选择打开该查询并执行,即可得到实时的数据。 14.1.3 通过 VisualBasic 访问 SQLServer 数据库 VisualBasic6.0+SQLServer2000 数据库应用是基于 C/S 模式的应用,其典型的应用开 发环境如下: ⑴在数据库服务器上安装 SQLServer 数据库。 ⑵在应用客户机上需要安装连接端和利用 VisualBasic 开发后的可执行程序。 ⑶在开发机上需要安装 VisualBasic 和 SQLServer 管理端。 VisualBasic 在可视化设计领域有着非常广泛的应用,它界面友好,功能强大,并且还 提供了数据库管理器、数据控件、远程数据控件以及数据访问对象等众多功能强大的工具

有了这些工具的帮助。开发一个数那库应用程序将变得更加轻松,容易。下面介绍 VisualBasic60如何通过0DBC连接到SQLServer数据库上. 1.利用V1sa1Ba81c60可视亿数据管理器访问数据 图14-20选择可视化数据管理器图14-21打开008C数据源 ①在Yis知lBsic6.0的菜单栏选择“外挂程序”一“可视化数据管理器”装单命令, 如图14-20所示, ②出现如图1-21所示的Vis0a界面,在菜单栏选择文件”→“打开数据库→“0心” 菜单命令。 ③出现如图14-22所示的0C登录界面,在“SN):”文本框里选择己建立好的数据 源sqlserverlink,在“UD():文本框果输入sa,在“密码(:”文本框里默认为空: 在数据库文本框里输入student,最后单击“确定”按组,即完成了Visua1 Basic60与 SQLServer数据库的连接。 ④接着,出现如图14-23所示的“YisData:sqlserver1ink,STLDENT”界面,在数据库 窗口选择某一个表则弹出对应表的编辑窗口。图14-22登录0C数据源 图14-23在VisData界面中编辑SQ.Server数据表 2利用V1 sualBas1c控件开发数据库应用程序 下面通过对教师信息表(teacher1nfo)的记录进行定位操作的实例米编写 VisualBasic程序。 ()进入V1 sualBas1c60,在菜单栏这择“文件”→“新建工程”菜单命令,出现如图 124所示界面,选中新建工程的类型为“标准ExE”,单击“打开”按钮。 (出现如图14-25所示界面。设置在表单的属性窗口里,设置“名称”为 SQLServer5aple,“Caption”属性为“学生基本信息“,存世保存表单文件和工程文件. (围在菜单栏里选择“工程”一“部件”菜单命令,将需要的数据库控件漆加进米。如图 14-26所示. 124选择新建工程图125设置表单属性 ()出现如图14-27所示的部件对话整,遗中控件标签真。在下拉列表框里单击选中 M1 crosoftAD00 ataCo通trol60(0LED6,单击“确定”按组。 图14-26选择添加都件 )单击透中“General”工具箱里出现的C挖件,在表单任意位置按住鼠标左键施 动出一个区域。出现0C控件。在该控件上用鼠标右键单击,在出现的快捷菜单里选择
有了这些工具的帮助,开发一个数据库应用程序将变得更加轻松、容易。下面介绍 VisualBasic6.0 如何通过 ODBC 连接到 SQLServer 数据库上。 1.利用 VisualBasic6.0 可视化数据管理器访问数据库 图 14-20 选择可视化数据管理器图 14-21 打开 ODBC 数据源 ①在 VisualBasic6.0 的菜单栏选择“外挂程序”→“可视化数据管理器”菜单命令, 如图 14-20 所示。 ②出现如图 14-21 所示的 VisData 界面,在菜单栏选择“文件”→“打开数据库”→“ODBC” 菜单命令。 ③出现如图 14-22 所示的 ODBC 登录界面,在“DSN(D):”文本框里选择己建立好的数据 源 sqlserverlink,在“UID(U):”文本框里输入 sa,在“密码(P):”文本框里默认为空, 在数据库文本框里输入 student,最后单击“确定”按钮,即完成了 VisualBasic6.0 与 SQLServer 数据库的连接。 ④接着,出现如图 14-23 所示的“VisData:sqlserverlink.STUDENT”界面,在数据库 窗口选择某一个表则弹出对应表的编辑窗口。图 14-22 登录 ODBC 数据源 图 14-23 在 VisData 界面中编辑 SQLServer 数据表 2.利用 VisualBasic 控件开发数据库应用程序 下面通过对教师信息表(teacher_info)的记录进行定位操作的实例来编写 VisualBasic 程序。 ⑴进入 VisualBasic6.0,在菜单栏选择“文件”→“新建工程”菜单命令,出现如图 14-24 所示界面,选中新建工程的类型为“标准 EXE”,单击“打开”按钮。 ⑵出现如图 14-25 所示界面。设置在表单的属性窗口里,设置“名称”为 SQLServerSample,“Caption”属性为“学生基本信息”,存盘保存表单文件和工程文件。 ⑶在菜单栏里选择“工程”→“部件”菜单命令,将需要的数据库控件添加进来,如图 14-26 所示。 14-24 选择新建工程图 14-25 设置表单属性 ⑷出现如图 14-27 所示的部件对话框,选中控件标签页,在下拉列表框里单击选中 MicrosoftADODataControl6.0(OLEDB),单击“确定”按钮。 图 14-26 选择添加部件 ⑸单击选中“General”工具箱里出现的 ADODC 控件,在表单任意位置按住鼠标左键拖 动出一个区域,出现 ADODC 控件,在该控件上用鼠标右键单击,在出现的快捷菜单里选择

“D00C属性”菜单金令,如图14-28所示. (出现如图142塑所示的属性页对话框,在通用标签页里有3种指定数据库的方式。选 择“使用0BC数据资源名称”单选按组,在下拉列表框里选择建立好名为sqlserverlink 的数据源。 ()如图14-30所示为0C控件属性页的“身份验任”标签页,在用户名称文本框果输 入sa,在密码文本框中默认为空 如图14-31所示为D0C控件属性页的“记录源”标签真,在“命令类型”下拉列表 概里有4种选项,速中adC打abl©,与数据库连接。莲接成功后在“表或存储过程名称" 下拉列表框里出现该用户下的数据表,选中stud_info,设置完华后单击“确定”按钮。 图14-27选择添加控件图14-28选择修改00C控件的属性 图14-29AD00C属性页的“通用”标签页图1-30AD00C属性页的“身份验证”标签页 (衡在Visible的下拉列表框里透择False,这样在设计时该控件是可见的,但在运行时 是不可见的: 0调单击选中“Gemeral”工具箱中的TextBox控件,在表单任意位置按住鼠标左键拖动 出一个区域,出现TxtB哑控件,在该控件上单市,在出现的快捷菜单里选择“属性窗口“ 菜单命令,弹出如图132所示的属性窗口。在名称文本框里修政为txtName,这个控件将 用于曼示和输入teacher_info数据表中的nnr字段,在tasource下拉列表框里透择 AD0DCI,就是刚才建立的AD0OC数据库控件的名称在DataField下拉列表框里选择nac, 对应的是teacher_.nfo数据表的nan字段,将text文本框里显示的内容去掉,图 14-31D0C属性页的“记求源”标签页 图14-3起设置A00C属性图14-33设计好的标签和文本框控件 D按照同样的方法依次添加名为txtGender的TextBox控件,在属性窗口的DataField 下拉列表根里选择gender:添加名为txtAddress的TextBa控件,在属性窗口的ataField 下拉列表框里速Address添加名为txtMark的TextBox控件,在属性窗口的DataF1eld下 拉列表医里选k:添加Lab1e控件,设计好的界面知图14-33所示。 D单击透中General具箱里的CoamandB如ttcn拉件,在表单任意位置按住鼠杯左键拖动 出一个区域,出现C©dButton控件,在该控件上单击,在出现的快捷菜单里达择"属性 窗口”菜单角令,在名移文本根里输入CadFirs,在Caption文本据里输入“首记录. 四双击名为cndFirst金令按钮,出现如图1-34所示的界而,在表单对象下拉列表框
“ADODC 属性”菜单命令,如图 14-28 所示。 ⑹出现如图 14-29 所示的属性页对话框,在通用标签页里有 3 种指定数据库的方式。选 择“使用 ODBC 数据资源名称”单选按钮,在下拉列表框里选择建立好名为 sqlserverlink 的数据源。 ⑺如图 14-30 所示为 ADODC 控件属性页的“身份验证”标签页,在用户名称文本框里输 入 sa,在密码文本框中默认为空。 ⑻如图 14-31 所示为 ADODC 控件属性页的“记录源”标签页,在“命令类型”下拉列表 框里有 4 种选项,选中 adCmdTable,与数据库连接,连接成功后在“表或存储过程名称” 下拉列表框里出现该用户下的数据表,选中 stud_info,设置完毕后单击“确定”按钮。 图 14-27 选择添加控件图 14-28 选择修改 ADODC 控件的属性 图 14-29ADODC 属性页的“通用”标签页图 14-30ADODC 属性页的“身份验证”标签页 ⑼在 Visible 的下拉列表框里选择 False,这样在设计时该控件是可见的,但在运行时 是不可见的。 ⑽单击选中“General”工具箱中的 TextBox 控件,在表单任意位置按住鼠标左键拖动 出一个区域,出现 TextBox 控件,在该控件上单击,在出现的快捷菜单里选择“属性窗口” 菜单命令,弹出如图 14-32 所示的属性窗口。在名称文本框里修改为 txtName,这个控件将 用于显示和输入 teacher_info 数据表中的 name 宇段,在 Datasource 下拉列表框里选择 ADODC1,就是刚才建立的 ADODC 数据库控件的名称;在 DataField 下拉列表框里选择 name, 对应的是 teacher_info 数据表的 name 字段,将 text 文本框里显示的内容去掉。图 14-31ADODC 属性页的“记录源”标签页 图 14-32 设置 ADODC 属性图 14-33 设计好的标签和文本框控件 ⑾按照同样的方法依次添加名为 txtGender 的 TextBox 控件,在属性窗口的 DataField 下拉列表框里选择 gender;添加名为 txtAddress 的 TextBox 控件,在属性窗口的 DataField 下拉列表框里选 Address;添加名为 txtMark 的 TextBox 控件,在属性窗口的 DataField 下 拉列表框里选 mark;添加 Lable 控件,设计好的界面如图 14-33 所示。 ⑿单击选中 General 具箱里的 CommandButton 控件,在表单任意位置按住鼠标左键拖动 出一个区域,出现 CommandButton 控件,在该控件上单击,在出现的快捷菜单里选择“属性 窗口”菜单命令,在名称文本框里输入 CmdFirst,在 Caption 文本框里输入“首记录”。 ⒀双击名为 cmdFirst 命令按钮,出现如图 14-34 所示的界面,在表单对象下拉列表框

里是所有的表单对象。在命◆方式下拉列表框里是所有的能够在对象上进行的操作方法,图 14-34输入命令按纽的操作代码 添加如下程序代码: PrivateSubendFirstClick() Adodel.Recordset.MoweFirst EndSub 0按照月样的方法添加名为CadPrevios的CommandBut ton控件,其属性窗口中的名称 文木框里输入CndPrevios,在Captio@文本框里输入“上一条”,其对应的过程代码如下: PrivateSubCndPreviosClick() Adodel.Recordset.MowePrevious IfAdode1.Recordset.BOFThen Adode1.Recordset.MoweFirst Endif EndSub 的按照同样的方法添加名为CadNext的CommandBut ton控件,其属性窗口中的名称文本 据里输入CadNext,在Captio赠文本版里输入“下一条”,其对应的过程代码如下: PrivateSubCndNextClick ( Adodc1.Recordset.MoveNext IfAdodel.Recordset.EOFThen Adodc1.Recordset.MoveLast Endif EndSub 00按照月样的方法添加名为CadLast的CommandButton控件,其属性窗口中的名称文本 想里输入0 adl.ast,在Capti0a文本框里输入“尾记录”,其对应的过程代码如下: PrivateSubCndLastClick ( Adode1.Recordset.MoveLast EndSub D按照月样的方法添加名为CadExit的CommandButton挖件,其属性前口中的名称文本 框里输入CdEx1t,在Capion文本框里输入“退出”,其对应的过程代码如下: PrivateSubCndExitClick (
里是所有的表单对象,在命令方式下拉列表框里是所有的能够在对象上进行的操作方法。图 14-34 输入命令按钮的操作代码 添加如下程序代码: PrivateSubcmdFirstClick() Adodcl.Recordset.MoveFirst EndSub ⒁按照同样的方法添加名为 CmdPrevios 的 CommandButton 控件,其属性窗口中的名称 文本框里输入 CmdPrevios,在 Caption 文本框里输入“上一条”,其对应的过程代码如下: PrivateSubCmdPreviosClick() Adodc1.Recordset.MovePrevious IfAdodc1.Recordset.BOFThen Adodc1.RecordSet.MoveFirst Endif EndSub ⒂按照同样的方法添加名为 CmdNext 的 CommandButton 控件,其属性窗口中的名称文本 框里输入 CmdNext,在 Caption 文本框里输入“下一条”,其对应的过程代码如下: PrivateSubCmdNextClick() Adodcl.Recordset.MoveNext IfAdodcl.Recordset.EOFThen Adodcl.Recordset.MoveLast Endif EndSub ⒃按照同样的方法添加名为 CmdLast 的 CommandButton 控件,其属性窗口中的名称文本 框里输入 CmdLast,在 Caption 文本框里输入“尾记录”,其对应的过程代码如下: PrivateSubCmdLastClick() Adodc1.Recordset.MoveLast EndSub ⒄按照同样的方法添加名为 CmdExit 的 CommandButton 控件,其属性窗口中的名称文本 框里输入 CmdExit,在 Capion 文本框里输入“退出”,其对应的过程代码如下: PrivateSubCmdExitClick()

UnloadMe EndSub 完全设计好的界面如图14-3药所示。单击窗口中的“运行”按钮就可以执行该实例了。 图14-35添加金令按银控件后的设计界面 I4.l.4通过PowerB如ilder访月SOLServer数据库 下面介绍在owerBul1der中如何连接SQLServer数据库,具体步骤如下: 图14-3 atabaseProfiles界面 图14-9"Prer10”标签页图14-40“Syntax”标签页 ①启动B,进入初始界面,单击“6 profile'”图标,将调出atabaseprofile界面, 如图14-36所示. ②在图14-6所示的数据库配置文件界面中,列举了阳8.0所支持的数据库接口驱动, 它门提供了对Info1ix,9x,Mic0 softS0 LServer,Oracle8x,SybaseASE等的专用题据 库动,选择“InstalledDatabaseInterfaces”下的“OOBODB”,单击鼠标右键,在随后 弹出的快捷菜单里,选择“ewProfi1e”装单命令,将弹出00eC配置界面,如图14-37所 示。 ③选择设置界面中的“Connection”标签页,并在“ProfileNane”文本框里输入 SQLServer,在“DataSource”对应的下拉列表服中,选择sqlserverlink,在“UserID" 文本框中,输入sa,在“Password”文本据中,设置为空,其他按理默认设置即可。 ①选择设置界面中的“5yst■”标签页(如图14-38所示),可以设置在B中显示的数 据库目标,一般按租默认值即可。 回选择图1-39所示的“preview”标签页,在“DatabaseConnectionSyntax”文本框 中,曼示了配置文件的语法。单击“O球”按组,即完成了PB与SQLServer数据库的连接, 另外,可以单击“TestConnection”按组进行测试,如果进择的SQLServer服务器正常工作 的话,会出现一个显示是否能够正常连接的对话框,里面会显示有关的测试信息。图 14-4100C数据库连接设置与操作 图14-2与后台数据库进行连接 国设置好的006C数暴岸连接如图14-1所示,在“SqL5eer0心(”上,用鼠标右键单 击,在随后弹出的快捷菜单里,可以选择“Connect”、“Delete”和“Exportprofile”执行 连接,副除和输出配置等功能,完成后单击“C10se”按钮
UnloadMe EndSub 完全设计好的界面如图 14-35 所示。单击窗口中的“运行”按钮就可以执行该实例了。 图 14-35 添加命令按钮控件后的设计界面 14.1.4 通过 PowerBuilder 访问 SQLServer 数据库 下面介绍在 PowerBuilder 中如何连接 SQLServer 数据库,具体步骤如下: 图 14-36DatabaseProfiles 界面 图 14-39“Preview”标签页图 14-40“Syntax”标签页 ①启动 PB,进入初始界面,单击“DBprofile”图标,将调出 Databaseprofile 界面, 如图 14-36 所示。 ②在图 14-36 所示的数据库配置文件界面中,列举了 PB8.0 所支持的数据库接口驱动, 它们提供了对 Informix.v9x、MicrosoftSQLServer、Oracle8.x、SybaseASE 等的专用数据 库驱动,选择“InstalledDatabaseInterfaces”下的“ODBODBC”,单击鼠标右键,在随后 弹出的快捷菜单里,选择“NewProfile”菜单命令,将弹出 ODBC 配置界面,如图 14-37 所 示。 ③选择设置界面中的“Connection”标签页,并在“ProfileName”文本框里输入 SQLServerODBC,在“DataSource”对应的下拉列表框中,选择 sqlserverlink,在“UserID” 文本框中,输入 sa,在“Password”文本框中,设置为空,其他按照默认设置即可。 ④选择设置界面中的“System”标签页(如图 14-38 所示),可以设置在 PB 中显示的数 据库目标,一般按照默认值即可。 ⑤选择图 14-39 所示的“preview”标签页,在“DatabaseConnectionSyntax”文本框 中,显示了配置文件的语法。单击“OK”按钮,即完成了 PB 与 SQLServer 数据库的连接。 另外,可以单击“TestConnection”按钮进行测试,如果选择的 SQLServer 服务器正常工作 的话,会出现一个显示是否能够正常连接的对话框,里面会显示有关的测试信息。图 14-41ODBC 数据库连接设置与操作 图 14-42 与后台数据库进行连接 ⑥设置好的 ODBC 数据库连接如图 14-41 所示,在“SQLServerODBC”上,用鼠标右键单 击,在随后弹出的快捷菜单里,可以选择“Connect”、“Delete”和“Exportprofile”执行 连接、删除和输出配置等功能,完成后单击“Close”按钮

⑦在B的主界面中,单击“Database“图标,将能够在阳中执行对数据岸的管理功能, 并弹出数据库配置界面,如图14-2所示: 图14-43对在SQLServer中己建立的数据表进行操作 圆在“DatabaseConnection'”窗口里,双击“InstalledDatabaseInterfaces”下的 “00C”展开符号,将可以看见刚才己建立的“SL5 ervert08C”配置,再右击 “SQLServerODBC"”,出现快捷菜单选择“connect”,将与后台数据库进行连接。.成功进行 连接后。可以选择己建立的数据表。并对其进行相应的操作,如图143所示。 14,2使用A0操作数据库中的数据 IL.2.1 ActiveX数据对象(DO 川0访问数据库更类似于编写数据库应用程序,0把绝大部分的数据库操作封装在 七个对象中,编程调用这些对象执行相应的数据库操作。0建立了访问数据库的脚本编写 模型,它不仅支特任何大型数据库的核心功能,面且支持许多数据库所专有的特性。DO使 用本机数据源。通过C访月数据库。这些数据库可以是关系型数据库、文本型数据库、 层次型数据库成者任何支持0(的数据库。0的主要优点是易用、高速、占用内存和磁 盘空间少,所以非常适合于作为凰务器端的数据库访问技术。相对于访问数暴库的CG程序 面言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通 过违接池(CoenectionPool)技术以及对数据库违接资源的完全控制,提供与运程数据岸的高 效连接与访月。问时它还支转事务处理(Transaction),以开发高效率,高可靠性的数据库 应用程序。 正是因为使用A0需要编写脚本程序,所以A0能够实现更复杂,更灵活的数据库访何 逻辑.目前,D0包括Comand,Connection.Recordset等七个对象和一个动态的Properties 集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。0具体的七个对象为 ·Cod:定文对数据源进行操作的命令: ·Connection:建立一个数据源的连接: ·rroT!提供数据访何错误的细节 ·Field:表示一般数据类型的字段: ·Paraneter:表示Comand对象的参数: ·Property表示由数据源定义D0对象的动老特性1 ·Recordset:数据岸仓令结果集对象. 灵活运用上述对象的属性、方法可以达到许多根好的效果。但通过0访月数据库通常
⑦在 PB 的主界面中,单击“Database”图标,将能够在 PB 中执行对数据库的管理功能, 并弹出数据库配置界面,如图 14-42 所示。 图 14-43 对在 SQLServer 中己建立的数据表进行操作 ⑧在“DatabaseConnection”窗口里,双击“InstalledDatabaseInterfaces”下的 “ODBODBC”展开符号,将可以看见刚才已建立的“SQLServerODBC”配置,再右击 ““SQLServerODBC””,出现快捷菜单选择“connect”,将与后台数据库进行连接。成功进行 连接后,可以选择己建立的数据表,并对其进行相应的操作,如图 14-43 所示。 14.2 使用 ADO 操作数据库中的数据 14.2.1ActiveX 数据对象(ADO) 用 ADO 访问数据库更类似于编写数据库应用程序,ADO 把绝大部分的数据库操作封装在 七个对象中,编程调用这些对象执行相应的数据库操作。ADO 建立了访问数据库的脚本编写 模型,它不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。ADO 使 用本机数据源,通过 ODBC 访问数据库。这些数据库可以是关系型数据库、文本型数据库、 层次型数据库或者任何支持 ODBC 的数据库。ADO 的主要优点是易用、高速、占用内存和磁 盘空间少,所以非常适合于作为服务器端的数据库访问技术。相对于访问数据库的 CGI 程序 而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通 过连接池(ConnectionPool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高 效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库 应用程序。 正是因为使用 ADO 需要编写脚本程序,所以 ADO 能够实现更复杂、更灵活的数据库访问 逻辑。目前,ADO 包括 Command、Connection、Recordset 等七个对象和一个动态的 Properties 集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。ADO 具体的七个对象为: ·Command:定义对数据源进行操作的命令; ·Connection:建立一个数据源的连接; ·Error:提供数据访问错误的细节; ·Field:表示一般数据类型的字段; ·Parameter:表示 Command 对象的参数; ·Property:表示由数据源定义 ADO 对象的动态特性; ·Recordset:数据库命令结果集对象。 灵活运用上述对象的属性、方法可以达到许多很好的效果。但通过 ADO 访问数据库通常