[摘要]Microsoft Visual Basic(简称VB)作为一种面向对象的可视化编程工具,具有简单易学的,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API函数集及工具集。因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端。与后端的Micros...
Microsoft Visual Basic(简称VB)作为一种面向对象的可视化编程工具,具有简单易学的,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API函数集及工具集。因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端。与后端的Microsoft SQL Server相结合,VB能够提供一个鲁棒的、高性能的客户机—服务器方案。
使用Visual Basic作为前端开发语言,与SQL Server接口有三种常用的方法,即:
1. 数据访问对象/Jet
2. 为ODBC API编程
3. 使用SQL Server的Visual Basic库(VBSQL)为DB库API编程
本文将讨论这三种VB应用程序管理SQL Server数据的方法,并比较每种方法的性能和优缺点。
方法1. 数据访问对象/JetVisual Basic支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它确有许多优点。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBC.DLL)通地调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。下面是一个用DAOs访问SQL Server的VB实例。
上述例子是以非独占、非只读方式打开sales数据库,并检索Customers表中的所有字段。OpenDatabase函数的最后一个参数是ODBC连接字符串参数,它指明了Microsoft Access连接到SQL Server所需要知道的一些内容。其中“DSN"为数据源名,“WSID"为工作站名,“DATABASE"为所要访问的数据库名。
方法2. 用ODBC API编程
ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。与数据资源对话的公用函数组装在一个称为驱动程序管理器(ODBC.DLL)的动态连接中。应用程序调用驱动程序管理器中的函数,而驱动程序管理器反过来通过驱动器反过来通来驱动器(SQLSRVR.DLL)把它们送到服务器中。用ODBC API编程,一般要用到以下一些函数。
方法3. 使用VBSQL对DB库API编程
DB库是SQL Server的本地API,SQL Server的Visual Basic库(VBSQL)为Visual Basic程序员提供API。从一定意义上说,VBSQL是连接Visual Basic程序到SQL Server的性能最好最直接的方式。VBSQL包含以下三个文件:
VBSQL.VBX 包含库函数,具有访问重要的消息和处理错误的能力
VBSQL.BI 包括所有的常量和变量说明
VBSQL.HLP Windows帮助文件,使用VBSQL的指南
使用VBSQL时,必需将VBSQL.BI加入到Visual Basic工程文件中,并确保VB程序运行时有VBSQL.VBX文件。一般的DB库API编程的过程是这样的:先通过调用SqlInit对DB库进行初始化,再调用
SqlConnection打开一个连接,然后就可做一些工作。
性能比较
以上三种访问SQL Server的方法各有各的特点。DAOs方法是基于对象的,因而便于使用,但是它从Visual Basic到SQL Server的最慢的方式。ODBC API和VBSQL方法从本质上讲是基于程序的。ODBC API方法通用性好,允许最强的互操作性,编程简单,但速度慢于VBSQL方法。VBSQL方法通过VBSQL控件,提供了重要的SQL Server前端应用程序所需的灵活性、强大功能和良好性能。它具有真正的事件驱动及错误处理能力,完全支持异步处理、游标和计算列等。这些都是VBSQL方法超出其它方法的优势,但其编程稍复杂。至于实际使用哪一种接口方式,在很大程度上依赖于用户的应用程序的具体情况而定。
……