找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3193|回复: 0
打印 上一主题 下一主题
收起左侧

ADODB 中 RecordSet 的打开方式区别

[复制链接]
跳转到指定楼层
楼主
ID:90014 发表于 2015-9-13 16:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前两天在调试数据库抓取数据的程序时,使用了 ADODB 的Connection 对象和 Recordset 对象。希望将通过 SELECT 语句查询的结果全部存储在一个 Recordset中,然后再对这个 Recordset 中的数据进行处理。但是在实际操作的过程中,希望通过 Move 命令将当前数据指针移动到记录的最前端时,系统提示出错,无法将指针反向移动。后来在网上查询原因,原来是创建这个 Recordset 时,所使用的命令参数不同,创建了一个单项的记录集。 举例如下: rs 为记录集对象,如果要创建双向移动记录集,则必须使用如下的语句:
        rs.Open strSQL, cn, 1, 1 '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
这样,使用 rs.move  nnn 的指令时,nnn是正值,则向前移动,否则反向移动指针。

另外,在 ADO2.8中,可以支持比较复杂的 SQL 查询语句如下:

strCn = "Provider=sqloledb;Server=localdb;Database=Meters;Uid=sa;;"    '定义数据库链接字符串
strSQL = "select rtrim(TestID) as NewTestID, NumberA, Ib, PF, Iabc, Sampling, Error1,Error2,Error3 FROM Deviation "
strSQL = strSQL & "WHERE (TestID > '" & sStC & "') and (TestID < '" & sEdC & "') and (sampling =3) and RIGHT(rtrim(TestID),1)=" & CStr(nSite)      '定义SQL查询命令字符串

strSQL = strSQL & " ORDER BY TestID, NumberA"

在这个语句中,用到了 SQL 的函数 RTRIM 以及 RIGHT, 用到了别名 NewTestID, 有查询条件和最后结果的排序输出等,证明了可以通过 ADO 来实现对 SQL 数据库的完全控制。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表