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方法超出其它方法的優勢,但其編程稍復雜。至于實際使用哪一種接口方式,在很大程度上依賴于用戶的應用程序的具體情況而定。
|