大家有知道在ADO.NET中有七个对象,这里就不在一一的介绍了,今天我们只对在ADO.NET中重要的对象之一Connection对象的方法和大家一起分享一下。
1.ADO.NET Connection方法使用Open
建立与数据源的物理连接。格式:
- connection.Open ConnectionString,UserID,Password,Options
#T#注意:该方法是使Connection获得初始化的方法,只有使用了该方法,Connection对象才真正在内存中存在。后面的参数都是可选参数,最简单如:cn.Open(cn是1个connection对象),但如果这样则需要预先设置好ConnectionString 等参数。其中,connectionstring是前面提到的连接字符串,UserID是建立连接的用户的代号,Password是建立连接的用户的密码。该参数会覆盖掉在连接字符串中设置的密码;options提供了连接选择,可选值只有adAsyncConnect异步连接,缺省为-1同步连接。
2.ADO.NET Connection方法使用Close
关闭1个数据连接对象,使该连接对象只留在本机内存中,可对其属性更改后再重新建立连接。(注:如果不是关闭对象,而是将对象从内存中清除,应使用 Set connection对象变量=Nothing.).获取数据源上的有关信息:OpenSchema方法,该方法获取与数据源有关的信息,如获取数据源中所有表的名称等。格式:Set Recordset对象=cn.OpenSchema(查询类别,[明细条目])。两个参数都是常数值,其中,每个查询类别中包含多个明细条目,每个明细条目作为返回的Recordset的一个字段,可以省略第二个参数,这时返回指定类别下的所有明细条目的信息生成一个Recordset。例如类别为 “表”adSchemaTables常数中包含了TABLE_NAME(表名称)和TABLE_TYPE(表类型)等多个明细项目常数,而主要应了解类别常数adSchema…以得到数据源某方面信息,可以查对象浏览器。举例如下(得到所有表名):
- Dim rstSchema As ADODB.Recordset
- Private Sub Form_Load()
- DataEnvironment1.Command1 '初始化数据环境
- 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方法:执行1个SQL查询,既可是选择查询,也可是动作查询。如:
- cn.Execute "Delete From BB where 姓名 like '嫖客店'"
但要注意:使用ADO.NET Connection方法的Execute方法返回的游标类型是最基本的只能读和只能向前移动的游标adOpenForwardOnly,因此,如果该方法执行一个选择查询返回一个记录集时特别要明白。举一个完整的例子如下:
- 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 '嫖客店'" 动作查询
- Set rst = cn.Execute("Select * from BB") 选择查询,生成记录集
- Do While Not rst.EOF
- List1.AddItem rst("姓名")
- rst.MoveNext
- Loop
- End Sub