聲明ADODB.Error對(duì)象相關(guān)問(wèn)題
本文主要講述ADODB.Error對(duì)象,怎樣創(chuàng)建ADODB.Error對(duì)象項(xiàng)目。這些內(nèi)容都是一些門(mén)戶(hù)網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯(cuò)誤是我沒(méi)有挑出的,歡迎大家指正。
這幾個(gè)對(duì)象的功能如下:Connection對(duì)象提供與包含路徑,口令和連接選項(xiàng)的數(shù)據(jù)源的鏈接;Command對(duì)象保存一個(gè)針對(duì)數(shù)據(jù)源的將被執(zhí)行的命令,最常見(jiàn)的是SQL命令或存儲(chǔ)過(guò)程;Recordset對(duì)象保存在記錄集中執(zhí)行查詢(xún)參數(shù)的記錄以及漫游記錄的光標(biāo);Error對(duì)象包含關(guān)于數(shù)據(jù)訪問(wèn)期間可能發(fā)生錯(cuò)誤的錯(cuò)誤信息;Parameter對(duì)象存儲(chǔ)由Command對(duì)象使用的單個(gè)參數(shù);Field對(duì)象為記錄集中包含的所有字段集合;Property對(duì)象是由DataProvider驅(qū)動(dòng)程序返回的數(shù)據(jù)源的屬性。
ADO的核心是Connection,Recordset,Command對(duì)象。這三個(gè)對(duì)象可獨(dú)立使用,也可互相連接使用。而其他對(duì)象,如Error集合存儲(chǔ)在Connection對(duì)象中,在使用這些對(duì)象前都必須先聲明對(duì)象變量,然后用Set進(jìn)行賦值,才可使用,在聲明時(shí)還可以用WithEvents將事件也聲明進(jìn)來(lái),使得ADO對(duì)象變得象控件那樣易于使用。
有兩個(gè)對(duì)象中包含了事件,即Recordset對(duì)象和Connection對(duì)象。只要如DimWithEventsrstAsADODB.Recordset這樣聲明后,ADODB.Error對(duì)象就能在代碼窗口的下拉表中找到該對(duì)象,真的和ADO控件一樣易于使用,連事件也大致相同。#t#
Connection對(duì)象
用于建立與數(shù)據(jù)源的連接(包括客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)的連接)。在大多數(shù)應(yīng)用程序中最好把一個(gè)ADODB.Error對(duì)象對(duì)象保存為全局級(jí)或模塊級(jí),這樣就不用每次執(zhí)行一個(gè)操作時(shí)都去創(chuàng)建這個(gè)對(duì)象。
ConnectionString用多項(xiàng)“設(shè)置項(xiàng)=值”的方式來(lái)設(shè)定與數(shù)據(jù)源的連接,每個(gè)項(xiàng)之間用分號(hào)隔開(kāi)。對(duì)于連接字符串的寫(xiě)法,精確固定的語(yǔ)法是沒(méi)有的。因?yàn)椴煌?lèi)型數(shù)據(jù)庫(kù),有各自的設(shè)置項(xiàng)。一個(gè)技巧是先在窗體上放一個(gè)Adodc控件,然后利用其ADODB.Error對(duì)象置時(shí)的對(duì)話(huà)框來(lái)建立好字串,再粘貼到代碼中,最后將Adodc控件刪除。不要以為這是很笨的方法哦,許多高手也采用它哩。
ConnectionTimeout屬性:設(shè)置連接時(shí)的最長(zhǎng)等待時(shí)間,缺省為15秒,超時(shí)還未連接成功的話(huà),中止連接,并返回出錯(cuò)信息。
Mode屬性:指定了該connection對(duì)象的讀寫(xiě)權(quán)限,該屬性值為枚舉變量ConnectionModeEnum中的一個(gè),ADODB.Error對(duì)象有adModeRead、adModeReadWrite等。到對(duì)象瀏覽器中去找。
CursorLocation屬性:選擇不同的游標(biāo)位置,只能在建立連接之前設(shè)置該屬性,并建立連接才有效,對(duì)于1已經(jīng)建立的連接,設(shè)置該屬性對(duì)連接不會(huì)產(chǎn)生影響。該屬性有以下常量:adUseNone——不使用游標(biāo)服務(wù);adUseClient——使用客戶(hù)端游標(biāo);adUseServer——使用服務(wù)端游標(biāo)。
DefaultDatabase屬性:該屬性為connection對(duì)象指定1個(gè)缺省的數(shù)據(jù)庫(kù)。State屬性:ADODB.Error對(duì)象查看一個(gè)connection對(duì)象當(dāng)前狀態(tài)是已經(jīng)建立還是關(guān)閉。只讀。Version屬性:返回ADO的版本號(hào)。
Attributes屬性:設(shè)置事務(wù)的處理方式,可選值A(chǔ)dXactCommitRetaining通過(guò)自動(dòng)調(diào)用CommitTrans啟動(dòng)新事務(wù)?;駻dXactAbortRetaining通過(guò)自動(dòng)調(diào)用RollbackTrans啟動(dòng)新事務(wù)。
CommandTimrout屬性:終止操作數(shù)據(jù)源的命令并返回一個(gè)錯(cuò)誤的等待時(shí)間。Provider屬性:返回連接的數(shù)據(jù)源(即數(shù)據(jù)提供者)的名字。
Errors屬性:Error對(duì)象實(shí)際是一個(gè)與Connection平行的對(duì)象,也有一些如Description和Number等屬性,但它的集合包含在Connection對(duì)象下,其中包含了全部錯(cuò)誤對(duì)象,需要先聲明一個(gè)ADODB.Error對(duì)象,然后用Set進(jìn)行賦值,如DimcnerrAsADODB.ErrorSetcnerr=DataEnvironment1.Connection1.Errors.Item(0)。