ADO訪問技術(shù)在科教研管理系統(tǒng)中的應(yīng)用_第1頁(yè)
ADO訪問技術(shù)在科教研管理系統(tǒng)中的應(yīng)用_第2頁(yè)
ADO訪問技術(shù)在科教研管理系統(tǒng)中的應(yīng)用_第3頁(yè)
ADO訪問技術(shù)在科教研管理系統(tǒng)中的應(yīng)用_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ADO訪問技術(shù)在科教研管理系統(tǒng)中的應(yīng)用         摘  要  本文介紹了ADO對(duì)象模型,闡述了在解決復(fù)雜問題時(shí)ADO訪問技術(shù)的重要性,并描述了ADO技術(shù)在科教研管理系統(tǒng)中的實(shí)際應(yīng)用。    關(guān)鍵字  ADO 對(duì)象、模型;科教研管理;結(jié)果集    1  引言    ADO是基于Microsoft 面向?qū)ο蟮臄?shù)據(jù)庫(kù)訪問新技術(shù),其訪問數(shù)據(jù)模型如圖1所示,并且其是基于COM的且具有COM 組件的諸多

2、優(yōu)點(diǎn),如跨語(yǔ)言(VC+、VB、VBScript Edition、Java可同時(shí)支持并使用)、跨平臺(tái)、跨操作系統(tǒng)等特點(diǎn),能夠訪問包括關(guān)系數(shù)據(jù)庫(kù)、非關(guān)系數(shù)據(jù)庫(kù)及所有的文件系統(tǒng)。與其它數(shù)據(jù)訪問對(duì)象(例如RDO 和DAO)相比,ADO 對(duì)象模型含有的對(duì)象更少,更易于使用。    科學(xué)研究和教學(xué)研究是高等學(xué)校的重要工作之一,隨著科教研項(xiàng)目涉及到的范圍也越來(lái)越廣,數(shù)量越來(lái)越多,管理也越來(lái)越復(fù)雜,通過(guò)計(jì)算機(jī)進(jìn)行管理無(wú)疑是最科學(xué)和最有效的方法,一方面可提高工作效率和工作質(zhì)量,同時(shí)又便于部門之間進(jìn)行信息交流,實(shí)現(xiàn)資源共享。而且目前我院 (北京聯(lián)合大學(xué)生物化學(xué)工程學(xué)院)的科教研管理還

3、是采用Excel來(lái)進(jìn)行管理,所以科教研管理系統(tǒng)的開發(fā)迫在眉睫。教科研管理系統(tǒng)是我院的校園辦公自動(dòng)化系統(tǒng)中的一個(gè)子系統(tǒng),主要利用Visual Base作為開發(fā)平臺(tái),SQL Server作為后臺(tái)數(shù)據(jù)庫(kù)研制開發(fā)的系統(tǒng),應(yīng)用ADO實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問。    2   ADO對(duì)象模型    ADO是Microsoft 有關(guān)高級(jí)數(shù)據(jù)接口的策略,提供了一個(gè)開放的、應(yīng)用程序級(jí)的數(shù)據(jù)訪問對(duì)象模型,該模型提供了一組易于使用的對(duì)象、屬性、方法,用于創(chuàng)建可訪問和操作數(shù)據(jù)的應(yīng)用程序。  ADO 對(duì)象模型含有7 種對(duì):Connecti

4、on對(duì)象;Command對(duì)象;Recordset對(duì)象;Field 對(duì)象;Parameter 對(duì)象;Error 對(duì)象;Property 對(duì)象。每個(gè)ADO 對(duì)象都含有一組屬性和方法,允許對(duì)對(duì)象和其內(nèi)容進(jìn)行操作。程序設(shè)計(jì)中對(duì)ADO操作時(shí),主要利用以下3 個(gè)對(duì)象。    (1)Connection 對(duì)象    該對(duì)象建立一個(gè)和數(shù)據(jù)源的連接,它允許應(yīng)用程序傳遞客戶消息以創(chuàng)建連接。創(chuàng)建連接后,其它對(duì)象就可使用Connection對(duì)象。Connection 對(duì)象所需的數(shù)據(jù)源設(shè)置通過(guò)其ConnectString屬性設(shè)置。這個(gè)字符串可以是ODBC DS

5、N、URL 或數(shù)據(jù)連接信息,如數(shù)據(jù)提供者、服務(wù)器名、用戶名、口令等。指定連接后,用Open方法建立連接。    (2)Command 對(duì)象    Command 對(duì)象定義在數(shù)據(jù)庫(kù)連接中檢索到的數(shù)據(jù)的指定詳細(xì)信息。該對(duì)象可打開一個(gè)新連接或使用一個(gè)已有的連接。它通常以數(shù)據(jù)庫(kù)對(duì)象為基礎(chǔ)或以SQL查詢語(yǔ)言為基礎(chǔ)。要使用Command 對(duì)象,首先要指定CommandText屬性和CommandType 屬性,然后用Excute方法運(yùn)行指定的命令。Parameter 集合與Command 對(duì)象相關(guān)聯(lián),可管理存儲(chǔ)過(guò)程變?cè)?#160; &

6、#160; Recordset 對(duì)象    Recordset 對(duì)象代表數(shù)據(jù)庫(kù)表格中的一整套記錄或執(zhí)行一條命令而得到的結(jié)果。用該對(duì)象還提供客戶機(jī)應(yīng)用程序中讀取、更新和操縱數(shù)據(jù)的機(jī)制。打開該對(duì)象有下面3 種方式:使用現(xiàn)有打開的Connection 對(duì)象;使用現(xiàn)有打開的Command對(duì)象;直接傳遞連接字符串(指定ActiveConnection和Source屬性)。Recordset 對(duì)象是由記錄和字段組成。圖1  ADO訪問數(shù)據(jù)模型 圖2  ADO對(duì)象模型3  在科教研管理中的應(yīng)用    

7、0;   目前利用面向?qū)ο蠹夹g(shù),通過(guò)ADO對(duì)象實(shí)例化編程是實(shí)現(xiàn)ADO數(shù)據(jù)訪問高級(jí)編程中的一個(gè)最實(shí)用的方法。該方法主要是通過(guò)類的編程、類對(duì)象的創(chuàng)建、方法的調(diào)用來(lái)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)訪問的。通常在解決復(fù)雜的應(yīng)用問題時(shí),采用ADO訪問技術(shù)將對(duì)解決問題起到至關(guān)重要的作用。在科教研管理系統(tǒng)中,在服務(wù)器端的SQL Server 數(shù)據(jù)庫(kù)為jyky,因?yàn)樵谡麄€(gè)系統(tǒng)中要多次利用ADO對(duì)象訪問數(shù)據(jù)庫(kù),所以把代碼中有關(guān)數(shù)據(jù)庫(kù)的連接做成一個(gè)模塊,方便在程序設(shè)計(jì)中重復(fù)調(diào)用,對(duì)數(shù)據(jù)的操作(錄入、添加、刪除、查詢)以科研項(xiàng)目中的橫向課題為例,做一簡(jiǎn)單的設(shè)計(jì)。具體應(yīng)用如下:    (

8、1)數(shù)據(jù)庫(kù)的連接Public Function connectString() As String'數(shù)據(jù)庫(kù)連接 connectString = "dsn=kyjy;uid=sa;pwd=goodwish;Data Source =kyjy" End FunctionPublic Function ExecuteSQL(ByVal sql As String, MsgString As String) As ADODB.Recordset     '執(zhí)行SQL語(yǔ)句并且返回記錄集   Dim

9、CNn As ADODB.Connection   Dim mrc As ADODB.RecordsetOn Error GoTo ExecuteSQL_Error   Set cnn = New ADODB.Connection:   cnn.Open connectString      Set mrc= New ADODB.Recordset: Mrc.Open  cnn, adOpenKeyset, adLockOptimistic  &

10、#160;   mrc.MoveLast  : Set ExecuteSQL = mrcExecuteSQL_Exit:   Set mrc = Nothing :  Set cnn = Nothing:  Exit FunctionExecuteSQL_Error:   Resume ExecuteSQL_ExitEnd Function    (2)數(shù)據(jù)的錄入,以橫向課題為例    txtsql = "select * from h

11、x ": Set mrc = ExecuteSQL(txtsql, MsgText)    If mrc.State = adStateClosed Then mrc.Open    mrc.AddNew    mrc.Fields("hxkth") = Trim(TextKtbh):mrc.Fields("ktmc") = Trim(TextKtmc.Text)    mrc.Fields("ktzt")

12、 = Trim(ComboKtzt.Text): mrc.Fields("ktxz") = Trim   (ComboKtxz.Text)    mrc.Fields("xmlb") = Val(Trim(Comboxmlb.Text)    mrc.Fields("jfze") = Val(Trim(TextJfze.Text)     mrc.Fields("dyq") = Trim(TextDyq.T

13、ext): mrc.Fields("deq") = countjingfei    mrc.Fields("lxsj") = mydate: mrc.Fields("pzsj") = mydate1    mrc.Fields("wcsj") = mydate2: mrc.Fields("zys") = CountZys     mrc.Fields("zyly") = Trim(Txt

14、zyly.Text) : mrc.Fields("cc") = Trim(Combocc.Text)    mrc.Fields("ktzl") = Trim(ComboKtzl.Text): mrc.Fields("xmly") = Trim(Textxmly.Text)    mrc.Fields("bz") = Trim(Txtbz.Text)    mrc.Update執(zhí)行插入語(yǔ)句   

15、(3)數(shù)據(jù)修改    txtsql = "update hx set Jfze='" & Val(Trim(TextJfze) & "', dyq = '" & Val(Trim(TextDyq.Text)    txtsql = txtsql & "', deq ='" & countjingfei    txtsql = txtsql & "&#

16、39;, xmlb ='" & Trim(Comboxmlb.Text)    txtsql = txtsql & "', ktzt ='" & Trim(Comboktzt.Text)    txtsql = txtsql & "', ktxz ='" & Trim(Comboktxz.Text)    txtsql = txtsql & "', k

17、tmc ='" & Trim(TextKtmc.Text)    txtsql = txtsql & "', zyly ='" & Trim(Txtzyly.Text)    txtsql = txtsql & "', xmly='" & Trim(Textxmly.Text)    If Trim(Txtbz.Text) <> "" Then

18、txtsql = txtsql & "', bz ='" & Trim(Txtbz.Text)    txtsql = txtsql & "', cc ='" & Trim(Combocc.Text)    txtsql = txtsql & "', lxsj ='" & mydate:txtsql = txtsql & "', pzsj ='&q

19、uot; & mydate1    txtsql = txtsql & "', wcsj ='" & mydate2:txtsql = txtsql & "',zys ='" & CountZys    txtsql = txtsql & "',ktzl ='" & Trim(Comboktzl.Text)    txtsql = txtsql

20、 & "' where hxkth ='" & Trim(TextKtbh.Text) & " ' "    Set mrc = ExecuteSQL(txtsql, MsgText) 執(zhí)行修改語(yǔ)句    (4)數(shù)據(jù)刪除    txtsql = "delete from hx where hxkth='" & Trim(TextKtbh.Text) & "' "    Set mrc = ExecuteSQL(txtsql, MsgTex

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論