| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8012 人关注过本帖, 1 人收藏
标题:在ADO中查询数据库记录我总结了有三种方法
只看楼主 加入收藏
wjq09
Rank: 2
等 级:论坛游民
帖 子:69
专家分:20
注 册:2011-1-2
结帖率:60%
收藏(1)
已结贴  问题点数:20 回复次数:5 
在ADO中查询数据库记录我总结了有三种方法
一种是Connection对象的Execute方法,另一种是Command对象的Execute方法,还有一种Recordset对象的Open方法,请高手们来讲讲这三种方法有什么联系及优缺点
搜索更多相关主题的帖子: 数据库 优缺点 记录 
2016-12-04 20:19
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
不能具体知道他们之间的优缺点,他们之间的共同点是都可以执行sql命令。Connection对象的Execute方法的优点是你不需要创建recordset对象即可执行sql,效率高,但缺点是不能返回记录集,无法对记录进行后续操作,多用于一次性删除记录、创建表、库、执行存储过程;recordset对象则反之,多用于具体操作、显示记录。Command对象是的对象,vb好像不能创建,是一种介于connection和recordset之间的对象。
2016-12-05 09:19
wjq09
Rank: 2
等 级:论坛游民
帖 子:69
专家分:20
注 册:2011-1-2
收藏
得分:0 
回复 2楼 xzlxzlxzl
Command对象也是VB6中ADO对象里的

[此贴子已经被作者于2016-12-5 11:12编辑过]

2016-12-05 11:11
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:15 
只用过
Connection.Execute
Recordset.Open
-------------
Connection.Execute 可以返回一个 记录集,但一般不喜欢这样做,好像这种方法不能设置游标类型,不知得到的 Recordset 是不是映像的,感觉可能是,以后有时间去测试一下。
                   一般我只用于执行没有返回值的 SQL 命令。
Recordset.Open ,返回一个全功能的记录集,一般这种方法。以后以时间去测试一下这二种方法的差异。

-----------------
Command.Execute,说实在,没用过。

授人于鱼,不如授人于渔
早已停用QQ了
2016-12-05 11:21
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:5 
学艺不精啊!
查了下msdn,相关介绍如下:
Execute 方法定义和用法
Execute 方法可执行指定查询、SQL 语句、存储过程或提供者特有的文本。
如果 CommandText 参数指定按行返回的查询,那么执行产生的任何结果都将存储在新的 Recordset 对象中。如果此命令不是以行返回的查询,提供者将返回关闭的 Recordset 对象。
注释:返回的 Recordset 对象始终是只读的、仅向前的游标。

Command 对象
ADO Command 对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。
如果该查询用于取回数据,此数据将以一个 RecordSet 对象返回。这意味着被取回的数据能够被 RecordSet 对象的属性、集合、方法或事件进行操作。
Command 对象的主要特性是有能力使用存储查询和带有参数的存储过程。

Recordset 对象
ADO Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。
在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。
ProgID:set objRecordset=Server.CreateObject("ADODB.recordset")
当您首次打开一个 Recordset 时,当前记录指针将指向第一个记录,同时 BOF 和 EOF 属性为 False。如果没有记录,BOF 和 EOF 属性为 True。
Recordset 对象能够支持两种更新类型:
立即更新 - 一旦调用 Update 方法,所有更改被立即写入数据库。 批更新 - provider 将缓存多个更改,然后使用 UpdateBatch 方法把这些更改传送到数据库。
在 ADO,定义了 4 中不同的游标(指针)类型:
动态游标 - 允许您查看其他用户所作的添加、更改和删除
键集游标 - 类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其他用户已删除的记录。其他用户所做的数据更改仍然是可见的。
静态游标 - 提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加、更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类型。
仅向前游标 - 只允许在 Recordset 中向前滚动。此外,由其他用户所做的添加、更改和删除将是不可见的。
可通过 CursorType 属性或 Open 方法中的 CursorType 参数来设置游标的类型。
注释:并非所有的提供者(providers)支持 Recordset 对象的所有方法和属性。
2016-12-05 14:44
dragon_chs
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-12-10
收藏
得分:0 
总结得好!!!!!!
2016-12-10 21:17
快速回复:在ADO中查询数据库记录我总结了有三种方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016636 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved