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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、1)數(shù)據(jù)庫的連接Public Function connectString() As String'數(shù)據(jù)庫連接 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語句并且返回記錄集   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í)行插入語句   

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í)行修改語句    (4)數(shù)據(jù)刪除    txtsql = "delete from hx where hxkth='" & Trim(TextKtbh.Text) & "' "    Set mrc = ExecuteSQL(txtsql, MsgTex

溫馨提示

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

最新文檔

評論

0/150

提交評論