ADO对象的使用
在上一遍文章中我们说了VB中基于ADO的数据库访问,接下来让我们一起来看一下ADO的七个对象,其中我们会重点讲述Command和Recordse两个对象。
我们先通过下面这张图对ADO的七个对象有一个大概的了解:

从图中的关系线以及我们可以看出,当我们通过Connection对象与数据源建立连接以后,既可以通过Recordset对象对数据进行操作,也可以通过Command命令对象来执行查询,然后在传送给Recordset对象进行数据操作。
下面我们先说Recordset对象:

例如:
Dim objCn As New Connection Dim objRs As New Recordset Dim strCn As String Dim strSQL As String '建立数据库连接 objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & App.Path \实例1.mdb" objCn.Open '执行查询命令,获得用户登录口令 strSQL = "SELECT 口令,身份 FROM 系统用户 WHERE 用户名='" & UserName & "'" Set objRs.ActiveConnection = objCn objRs.Open (strSQL) With objRs '创建客户端的记录集 .CursorLocation = adUseClient '指定使用客户端光标 .CursorType = adOpenStatic '指定使用静态光标 .Open "系统用户", objCn, adOpenStatic, adLockReadOnly End With ShowData (lngPage) '显示当前记录页数
我们来说一下Command对象:
使用Command对象之前,我们需要执行一下步骤:
1.通过设置ActiveConnection属性是打开的连接与Command对象关联。
2.使用CommandText属性定义命令(如SQL,储存过程)的可执行文本。
3.使用commandType属性指定命令类型。通过Parameter对象和Parameters集合定义参数化查询或存储过程参数。
4.使用Execute方法执行命令并在适当的时候返回Recordset对象
5.使用 CreateParameter方法创建一个与命令相关的新的参数对象。
6.将Command对象传递给Recordset的Source属性以便获得数据。
具体实现:
Private Sub Form_Load() Dim strcn As String Set objCn = New Connection strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & "Data Source=" & App.Path & "\实例5.mdb" objCn.ConnectionString = strcn objCn.Open '创建执行参数查询的command 对象 objcmd Set objCmd = New Command Set objCmd.ActiveConnection = objCn '创建连接 With objCmd .CommandText = "select * from 系统用户 where 用户名 like ?" & "and 身份 like ?" '定义命令的可执行文本 .CommandType = adCmdText '指定命令类型 End With '为command对象创建参数 Dim parm As New Parameter Set parm = objCmd.CreateParameter("用户名", adVarChar, adParamInput, 10) objCmd.Parameters.Append parm Set parm = objCmd.CreateParameter("身份", adVarChar, adParamInput, 10) objCmd.Parameters.Append parm et objRs = New Recordset objCmd("用户名") = "%" & Trim(txtUserName) & "%" '%是什么意思??? objCmd("身份") = "%" & txtStatus & "%" Set objRs = objCmd.Execute() '返回recordset对象 lbl4 = ""End Sub
我们还可以在一个Recordset对象实体中使用command对象:
Set cmd.ActiveConnection = cncmd.CommandText = strSqlcmd.CommandType = adCmdTextrs.Open cmd, , adOpenStatic, adLockOptimistic
以上是对ADO对象模型中一些对象的简单理解,当然还很不全面,会在以后的学习中慢慢完善……
- 11楼zhanglianhai5553小时前
- 加油!
- Re: wj80232小时前
- 回复zhanglianhai555n嘿嘿……一起加油!
- 10楼StubbornPotatoes3小时前
- 基础。
- Re: wj80233小时前
- 回复StubbornPotatoesn从基础学起!
- 9楼liutengteng1303小时前
- 总结的不错,加油啊。
- 8楼sunliduan3小时前
- 很详细!
- Re: wj80233小时前
- 回复sunliduann一起努力啊!
- 7楼huanjileaimeidan3小时前
- 加油!
- Re: wj80233小时前
- 回复huanjileaimeidann一起加油!
- 6楼shan9liang3小时前
- 高手
- Re: wj80233小时前
- 回复shan9liangn夸我呢?
- 5楼huanjileaimeidan昨天 20:19
- 明白了
- Re: wj8023昨天 20:48
- 回复huanjileaimeidann明白啥了?
- 4楼jiuqiyuliang昨天 17:55
- 挺好
- Re: wj8023昨天 19:42
- 回复jiuqiyuliangn嘿嘿……大家都挺好!
- 3楼hejingyuan6昨天 17:52
- 学习了
- 2楼cjr15233661143昨天 17:40
- 真详细啊
- 1楼aboy123昨天 17:30
- 继续努力
- Re: wj8023昨天 17:31
- 回复aboy123n恩恩,会的!