關于ADO.NET的對象Connection詳細介紹
隨著時代的發展,ADO.NET的功能也在逐步的強大,在關注技巧的東西同時我們也要注重基礎知識的掌握,這里我們就回顧一下關于ADO.NET的對象中的Connection對象吧。Connection對象提供與包含路徑,口令和連接選項的數據源的鏈接;Command對象保存一個針對數據源的將被執行的命令,最常見的是SQL命令或存儲過程;Recordset對象保存在記錄集中執行查詢參數的記錄以及漫游記錄的光標;Error對象包含關于數據訪問期間可能發生錯誤的錯誤信息;Parameter對象存儲由Command對象使用的單個參數;Field對象為記錄集中包含的所有字段集合;Property對象是由Data Provider驅動程序返回的數據源的屬性。
#T#ADO的核心是Connection,Recordset,Command對象。這三個ADO.NET的對象可獨立使用,也可互相連接使用。而其他對象,如 Error集合存儲在Connection對象中,在使用這些對象前都必須先聲明對象變量,然后用Set進行賦值,才可使用,在聲明時還可以用 WithEvents將事件也聲明進來,使得ADO對象變得象控件那樣易于使用。有兩個對象中包含了事件,即Recordset對象和 Connection對象。只要如Dim WithEvents rst As ADODB.Recordset這樣聲明后,就能在代碼窗口的下拉表中找到該對象,真的和ADO控件一樣易于使用,連事件也大致相同。
ADO.NET的對象Connection
用于建立與數據源的連接(包括客戶機/服務器結構的連接)。在大多數應用程序中最好把一個Connection對象保存為全局級或模塊級,這樣就不用每次執行一個操作時都去創建這個對象。
屬性:
◆ConnectionString屬性:連接數據源的字符串,包含了各種所需信息。如指定與1個ODBC數據源(DSN)為mine的連接,連接字符串可寫為:
- Dim cn as ADODB.connection
- Set cn=New ADODB.connection
- cn.ConnectionString="DSN=mine;UID=an;PWD=pwd"
如果不使用ODBC數據源,則連接字符串需要按以下方式設置:
- cn.ConnectionString="driver={SQL Server};server=mm;uid=sa;pwd=pwd;" & "Database=mine"
上面這個是連接到遠程SQL Server的連接串,即依次說明OLE DB驅動,服務器名,用戶名和密碼及數據庫名稱。如:
- cn.ConnectionString=”driver={SQL Server};server=www.ndlxn.com;uid=ndlxn;pwd=848484;Database=pubs”
ConnectionString 用多項“設置項=值”的方式來設定與數據源的連接,每個項之間用分號隔開。對于連接字符串的寫法,精確固定的語法是沒有的。因為不同類型數據庫,有各自的設置項。一個技巧是先在窗體上放一個Adodc控件,然后利用其ConnectionString設置時的對話框來建立好字串,再粘貼到代碼中,最后將 Adodc控件刪除。不要以為這是很笨的方法哦,許多高手也采用它哩。
◆ConnectionTimeout屬性:設置連接時的最長等待時間,缺省為15秒,超時還未連接成功的話,中止連接,并返回出錯信息。
◆Mode屬性:指定了該connection對象的讀寫權限,該屬性值為枚舉變量ConnectionModeEnum中的一個,有adModeRead、adModeReadWrite等。到對象瀏覽器中去找。
◆CursorLocation 屬性:選擇不同的游標位置,只能在建立連接之前設置該屬性,并建立連接才有效,對于1已經建立的連接,設置該屬性對連接不會產生影響。該屬性有以下常量:adUseNone——不使用游標服務;adUseClient——使用客戶端游標;adUseServer——使用服務端游標。
◆DefaultDatabase屬性:該屬性為connection對象指定1個缺省的數據庫。
◆State屬性:查看一個connection對象當前狀態是已經建立還是關閉。只讀。
◆Version屬性:返回ADO的版本號。
◆Attributes屬性:設置事務的處理方式,可選值AdXactCommitRetaining通過自動調用 CommitTrans 啟動新事務。或AdXactAbortRetaining通過自動調用 RollbackTrans 啟動新事務 。
◆CommandTimrout屬性:終止操作數據源的命令并返回一個錯誤的等待時間。
◆Provider屬性:返回連接的數據源(即數據提供者)的名字。
◆Errors屬性:Error對象實際是一個與Connection平行的對象,也有一些如Description和Number等屬性,但它的集合包含在Connection對象下,其中包含了全部錯誤對象,需要先聲明一個ADODB.Error對象,然后用Set進行賦值,如
- Dim cnerr As ADODB.Error Set cnerr = DataEnvironment1.Connection1.Errors.Item(0)。