時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
摘 要:
本文討論了Visual Basic應(yīng)用程序訪問SQL Server數(shù)據(jù)庫的幾種常用的方法,分別說明了每種方法的內(nèi)部機理并給出了每種方法的一個簡單的實例,最后比較了每種方法性能和優(yōu)缺點。
一、引言
SQL Server是微軟推出的中小型網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),是目前最常用的數(shù)據(jù)庫系統(tǒng)之一。隨著SQL Server網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序日益增多,這種Web數(shù)據(jù)庫應(yīng)用系統(tǒng)的正常運行一般依賴于已存在的用戶數(shù)據(jù)庫。創(chuàng)建維護數(shù)據(jù)庫的工作可用SQL Server提供的SQL Enterprise Manager工具來進(jìn)行,如能提供一種定制的數(shù)據(jù)庫管理工具,通過管理應(yīng)用程序來管理數(shù)據(jù)庫及其設(shè)備,對用戶來說無疑是最理想的。
Visual Basic作為一種面向?qū)ο蟮目梢暬幊坦ぞ?,具有簡單易學(xué),靈活方便和易于擴充的特點。而且Microsoft為其提供了與SQL Server通信的API函數(shù)集及工具集,因此它越來越多地用作大型公司數(shù)據(jù)和客戶機—服務(wù)器應(yīng)用程序的前端,與后端的Microsoft SQL Server相結(jié)合,VB能夠提供一個高性能的客戶機—服務(wù)器方案。
二、VB訪問SQL Server數(shù)據(jù)的常用方法
使用Visual Basic作為前端開發(fā)語言,與SQL Server接口有幾種常用的方法,即:
①數(shù)據(jù)訪問對象/Jet
②為ODBC API編程
③使用SQL Server的Visual Basic庫(VBSQL)為DB庫的API編程
④RDO 遠(yuǎn)程數(shù)據(jù)對象(RemoteData Objects)
⑤ADO 數(shù)據(jù)對象(Active Data Objects)
1、數(shù)據(jù)訪問對象/Jet
VB支持Data Access Objects(DAOs)的子集。DAO的方法雖然不是性能最好的管理客戶機—服務(wù)器之間的對話方式,但它的確有許多優(yōu)點。DAO/Jet是為了實現(xiàn)從VB訪問Access數(shù)據(jù)庫而開發(fā)的程序接口對象。使用DAOs訪問SQL Server的過程如下:應(yīng)用程序準(zhǔn)備好語句并送至Jet,Jet引擎(MASJT200.DLL)優(yōu)化查詢,載入驅(qū)動程序管理器并與之通訊,驅(qū)動程序管理器(ODBC.DLL)通過調(diào)用驅(qū)動器(SQLSRVR.DLL)的函數(shù),實現(xiàn)連接到數(shù)據(jù)源,翻譯并向SQL Server提交SQL語句且返回結(jié)果。下面是一個用DAOs訪問SQL Server的VB實例。
注釋:
以下為引用的內(nèi)容: Form Declarations? |
2、利用ODBC API編程
ODBC(Open Database Connectivity)的思想是訪問異種數(shù)據(jù)庫的一種可移植的方式。與數(shù)據(jù)資源對話的公用函數(shù)組裝在一個稱為驅(qū)動程序管理器(ODBC.DLL)的動態(tài)連接中。應(yīng)用程序調(diào)用驅(qū)動程序管理器中的函數(shù),而驅(qū)動程序管理器反過來通過驅(qū)動器(SQLSRVR.DLL)把它們送到服務(wù)器中。
下面的代碼使用上面一些函數(shù)先登錄到一個服務(wù)器數(shù)據(jù)庫,并為隨后的工作設(shè)置了語句句柄。
以下為引用的內(nèi)容: Global giHEnv As Long? myResult=SQLDriverConnect(giHDB,Test,form1.hWnd,myConnection.len |
DB庫是SQL Server的本地API,SQL Server的Visual Basic庫(VBSQL)為Visual Basic程序員提供API。從一定意義上說,VBSQL是連接Visual Basic程序到SQL Server的性能最好最直接的方式。VBSQL包含以下三個文件:
VBSQL.VBX: 包含庫函數(shù),具有訪問重要的消息和處理錯誤的能力
VBSQL.BI:包括所有的常量和變量說明
VBSQL.HLP:Windows幫助文件,使用VBSQL的指南
使用VBSQL時,必須將VBSQL.BI加入到Visual Basic工程文件中,并確保VB程序運行時有VBSQL.VBX文件。
一般的DB庫API編程的過程是這樣的:先通過調(diào)用SqlInit對DB庫進(jìn)行初始化,再調(diào)用SqlConnection打開一個連接,然后就可做一些工作。下面的代碼是一個初始化DB庫并登錄到服務(wù)器的通用例程。
以下為引用的內(nèi)容: Private Sub InitializeApplication()? |
4、RDO 遠(yuǎn)程數(shù)據(jù)對象(RemoteData Objects)
要討論RDO,就必然要談到DAO。RDO是從DAO派生出來的,但兩者很大的不同在于其數(shù)據(jù)庫模式。DAO是針對[記錄(Records)]和[字段( Fields)],而RDO是作為[行(Rows)]和[列(Columns)]來處理。也就是說DAO 是ISAM模式,RDO是關(guān)系模式。此外DAO是訪問Access的Jet引擎(Jet是ISAM)的接口,而RDO則是訪問ODBC的接口。
可見,RDO是綜合了DAO/Jet、VBSQL/DBLib以及ODBC的優(yōu)點的對象(Object)。需要強調(diào)的是,RDO是包裹著ODBC API的一層薄薄的外殼, 被設(shè)計成在后臺(服務(wù)器端)有數(shù)據(jù)庫存在的前提下運行,同時也是針對SQL Server和Oracle而特別設(shè)計的。
RDO的優(yōu)勢在于它完全被集成在VB之中。此外,直接訪問SQL Server存儲過程、完全支持T-SQL、T-SQL調(diào)試集成在開發(fā)環(huán)境中、Visual Database Tools的集成化等,也是RDO的長處。
在RDO的對象和集合中,有很多對數(shù)據(jù)庫的狀態(tài)和設(shè)定進(jìn)行操作的屬性(Property),以及對數(shù)據(jù)庫進(jìn)行操作的方法(Method)。利用這些,從RDO2.0起就可以開發(fā)事件驅(qū)動的數(shù)據(jù)庫應(yīng)用程序。
RDO對象與VB中其他對象的概念相同。與VB用的ActiveX控件(以往稱為Custom Control或OCX、VBX)相似的是,RDO也帶有屬性和方法;但同Spread、InputMan等普遍應(yīng)用的ActiveX控件不同的是,RDO沒有自己的用戶界面,因而可以和VB標(biāo)準(zhǔn)的Timer控件歸為同一類。當(dāng)然也可以將RDO看作調(diào)用ODBC
關(guān)鍵詞標(biāo)簽:VB應(yīng)用程序,SQL Serve
相關(guān)閱讀
熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系
人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法