資源描述:
《基于VB的高級數(shù)據(jù)庫訪問技術(shù)_ADO》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、西南民族大學(xué)學(xué)報·自然科學(xué)版第37卷第3期May.2011___________________________________________________________________JournalofSouthwestUniversityforNationalities?NaturalScienceEdition文章編號:1003-2843(2011)03-0491-04基于VB的高級數(shù)據(jù)庫訪問技術(shù)——ADO陳建英,張楠,李濤(西南民族大學(xué)計算機科學(xué)與技術(shù)學(xué)院,四川成都610041)摘要:介紹并分析了高級數(shù)據(jù)庫訪問技術(shù)ADO的分層對象模型及應(yīng)用系統(tǒng)體系結(jié)構(gòu),描
2、述了VB中使用ADO訪問數(shù)據(jù)庫的詳細(xì)步驟和語法,最后給出基于VB+SQLServer的ADO數(shù)據(jù)庫訪問實例.關(guān)鍵詞:數(shù)據(jù)庫訪問技術(shù);VB;ADO數(shù)據(jù)控件;ADO對象中圖分類號:TP311.131文獻標(biāo)志碼:Adoi:10.3969/j.issn.1003-2483.2011.05.29VB(VisualBasic)是Microsoft致力發(fā)展的Windows應(yīng)用程序開發(fā)工具之一,簡單易學(xué)、方便靈活,具有強大的數(shù)據(jù)庫操作功能,通常作為數(shù)據(jù)庫應(yīng)用系統(tǒng)前端開發(fā)工具.SQLServer是Microsoft推出的RDBMS(RelationalDatabaseManagement
3、System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)),數(shù)據(jù)管理功能強大,具有高速、穩(wěn)定和安全等優(yōu)勢,在C/S和B/S模式中都得到了很好的應(yīng)用.兩者相結(jié)合并采用ADO(ActiveXDataObject,ActiveX數(shù)據(jù)對象)數(shù)據(jù)庫訪問技術(shù)開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)是一種較為合理的選擇.1ADO概述ADO是Microsoft開發(fā)的一種基于對象的數(shù)據(jù)訪問接口,是DAO(DataAccessObjects,數(shù)據(jù)訪問對象)和RDO(RemoteDataObjects,遠(yuǎn)程數(shù)據(jù)對象)的后繼產(chǎn)物,集成了DAO和RDO的優(yōu)點,提供對OLEDB(ObjectsLinkandEmbeddingDatabase,
4、對象連接與嵌入數(shù)據(jù)庫)數(shù)據(jù)源的應(yīng)用程序級訪問功能,具有使用方便、速度高、[1,2]內(nèi)存支出低和磁盤空間占用少等優(yōu)勢.1.1基于ADO的應(yīng)用系統(tǒng)體系結(jié)構(gòu)由于OLEDB是一種統(tǒng)一、通用的底層數(shù)據(jù)源訪問接口,可以實現(xiàn)對任意數(shù)據(jù)源的高性能數(shù)據(jù)訪問,能夠[3]處理任何類型的數(shù)據(jù)而不必考慮數(shù)據(jù)的格式和存儲方法.因此,基于OLEDB的ADO可以訪問任何類型的數(shù)據(jù)源,相應(yīng)的應(yīng)用系統(tǒng)體系結(jié)構(gòu)如圖1所示.應(yīng)用程序ADOOLEDBProvider…RDBMSXMLTXT圖1基于ADO的應(yīng)用系統(tǒng)體系結(jié)構(gòu)___________________________收稿日期:2011-04-13作者簡介
5、:陳建英(1970-),女,副教授.基金項目:四川省應(yīng)用基礎(chǔ)研究項目(2008JY0070-2);西南民族大學(xué)中央高?;究蒲袠I(yè)務(wù)費專項(10NZYZJ04).___________________________________________________________________492西南民族大學(xué)學(xué)報·自然科學(xué)版第37卷1.2ADO的分層對象模型當(dāng)前,大多基于C/S和B/S結(jié)構(gòu)的開發(fā)技術(shù)都支持ADO,這使得不同的應(yīng)用開發(fā)模式能夠統(tǒng)一到單一的ADO對象上來.ConnectionErrorsErrorPropertyPropertiesPropertyComm
6、andParametersParameterPropertyPropertiesPropertyRecordsetFieldsFieldPropertyPropertiesProperty圖2基于層次結(jié)構(gòu)的ADO對象模型[4]ADO的對象模型具有明顯的層次結(jié)構(gòu),包含了如圖2所示的Connection、Command和Recordset三個主要對象和Errors、Parameters、Fields和Properties四個對象集合.Connection對象主要負(fù)責(zé)與數(shù)據(jù)源建立連接;Command對象主要用于設(shè)置訪問數(shù)據(jù)源所需的命令;Recordset對象主要用來存放從結(jié)果
7、集中取回的記錄;Error對象主要用來存放訪問數(shù)據(jù)源時所發(fā)生錯誤的信息;Parameter對象主要用來進行參數(shù)化查詢;Field對象對應(yīng)[5]Recordset對象的一列;Property對象用于封裝每個對象的屬性.2VB中基于ADO的兩種數(shù)據(jù)庫訪問方式[6][7]VB6.0開發(fā)環(huán)境為連接數(shù)據(jù)源提供了三種方法:ADO數(shù)據(jù)控件、ADO對象和DataEnvironment設(shè)計器.本文基于MSSQLServer2000的個人版在本地建立數(shù)據(jù)庫“test”及其用戶數(shù)據(jù)表“user(namechar(10),pwdchar(10))”介紹前兩種AD