學(xué)習(xí)筆記關(guān)于ADO.NET Connection方法簡介
大家有知道在ADO.NET中有七個(gè)對象,這里就不在一一的介紹了,今天我們只對在ADO.NET中重要的對象之一Connection對象的方法和大家一起分享一下。
1.ADO.NET Connection方法使用Open
建立與數(shù)據(jù)源的物理連接。格式:
- connection.Open ConnectionString,UserID,Password,Options
#T#注意:該方法是使Connection獲得初始化的方法,只有使用了該方法,Connection對象才真正在內(nèi)存中存在。后面的參數(shù)都是可選參數(shù),最簡單如:cn.Open(cn是1個(gè)connection對象),但如果這樣則需要預(yù)先設(shè)置好ConnectionString 等參數(shù)。其中,connectionstring是前面提到的連接字符串,UserID是建立連接的用戶的代號,Password是建立連接的用戶的密碼。該參數(shù)會覆蓋掉在連接字符串中設(shè)置的密碼;options提供了連接選擇,可選值只有adAsyncConnect異步連接,缺省為-1同步連接。
2.ADO.NET Connection方法使用Close
關(guān)閉1個(gè)數(shù)據(jù)連接對象,使該連接對象只留在本機(jī)內(nèi)存中,可對其屬性更改后再重新建立連接。(注:如果不是關(guān)閉對象,而是將對象從內(nèi)存中清除,應(yīng)使用 Set connection對象變量=Nothing.).獲取數(shù)據(jù)源上的有關(guān)信息:OpenSchema方法,該方法獲取與數(shù)據(jù)源有關(guān)的信息,如獲取數(shù)據(jù)源中所有表的名稱等。格式:Set Recordset對象=cn.OpenSchema(查詢類別,[明細(xì)條目])。兩個(gè)參數(shù)都是常數(shù)值,其中,每個(gè)查詢類別中包含多個(gè)明細(xì)條目,每個(gè)明細(xì)條目作為返回的Recordset的一個(gè)字段,可以省略第二個(gè)參數(shù),這時(shí)返回指定類別下的所有明細(xì)條目的信息生成一個(gè)Recordset。例如類別為 “表”adSchemaTables常數(shù)中包含了TABLE_NAME(表名稱)和TABLE_TYPE(表類型)等多個(gè)明細(xì)項(xiàng)目常數(shù),而主要應(yīng)了解類別常數(shù)adSchema…以得到數(shù)據(jù)源某方面信息,可以查對象瀏覽器。舉例如下(得到所有表名):
- Dim rstSchema As ADODB.Recordset
- Private Sub Form_Load()
- DataEnvironment1.Command1 '初始化數(shù)據(jù)環(huán)境
- Set rstSchema = DataEnvironment1.Connection1.OpenSchema(adSchemaTables)
- Do While Not rstSchema.EOF '獲取所有表名
- List1.AddItem rstSchema.Fields("TABLE_NAME")
- rstSchema.MoveNext
- Loop
- Set MSHFlexGrid1.DataSource = rstSchema '可看到更多信息。
- End Sub
Execute方法:執(zhí)行1個(gè)SQL查詢,既可是選擇查詢,也可是動(dòng)作查詢。如:
- cn.Execute "Delete From BB where 姓名 like '嫖客店'"
但要注意:使用ADO.NET Connection方法的Execute方法返回的游標(biāo)類型是最基本的只能讀和只能向前移動(dòng)的游標(biāo)adOpenForwardOnly,因此,如果該方法執(zhí)行一個(gè)選擇查詢返回一個(gè)記錄集時(shí)特別要明白。舉一個(gè)完整的例子如下:
- Dim cn As ADODB.Connection
- Dim rst As ADODB.Recordset
- Private Sub Command2_Click()
- rst.MoveNext
- Print rst("姓名")
- End Sub
- Private Sub Form_Load()
- Set cn = New ADODB.Connection
- Set rst = New ADODB.Recordset
- cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\WINDOWS\Desktop\lxn.mdb" 連接字符串
- cn.Open 連接
- cn.Execute "Delete From BB where 姓名 like '嫖客店'" 動(dòng)作查詢
- Set rst = cn.Execute("Select * from BB") 選擇查詢,生成記錄集
- Do While Not rst.EOF
- List1.AddItem rst("姓名")
- rst.MoveNext
- Loop
- End Sub