社区
数据库
帖子详情
使用ado 的 Recordset对象,Open方法的第一个参数用Command对象的问题?
开始远离编程
2006-08-10 10:13:33
Recordset对象,Open方法,第一个参数可以使用Command对象,但是不知道参数要怎么填写?
m_pRecordset->Open(_variant_t( (IDispatch*)pCommand, true),_variant_t((IDispatch*)NULL,true),CursorType, LockType, lOption )
有谁这么用过的?给个成功的代码例子。谢谢
...全文
572
5
打赏
收藏
使用ado 的 Recordset对象,Open方法的第一个参数用Command对象的问题?
Recordset对象,Open方法,第一个参数可以使用Command对象,但是不知道参数要怎么填写? m_pRecordset->Open(_variant_t( (IDispatch*)pCommand, true),_variant_t((IDispatch*)NULL,true),CursorType, LockType, lOption ) 有谁这么用过的?给个成功的代码例子。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
handsomerun
2006-08-10
打赏
举报
回复
利用Command对象来执行SQL命令
_CommandPtr m_pCommand;
m_pCommand.CreateInstance("ADODB.Command");
_variant_t vNULL;
vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;///定义为无参数
m_pCommand->ActiveConnection = m_pConnection;///非常关键的一句,将建立的连接赋值给它
m_pCommand->CommandText = "SELECT * FROM users";///命令字串
m_pRecordset = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);///执行命令,取得记录集
用open和直接执行command的execute一样可以获得记录集合
开始远离编程
2006-08-10
打赏
举报
回复
已经测试成功了。之前就是vNULL没有传对。谢谢你的代码了。
_variant_t vNULL;
vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;
_CommandPtr pCommand;
...
m_pRecordset->Open(_variant_t( (IDispatch*)pCommand, true),vNULL,CursorType, LockType, lOption )
handsomerun
2006-08-10
打赏
举报
回复
另外,你open的时候,try,catch一下,看看是什么错
handsomerun
2006-08-10
打赏
举报
回复
这个文档我也看过
很少看到例子
有这么一句话
如果在 Source 参数中传送 Command 对象并且同时传递 ActiveConnection 参数,那么将产生错误。Command 对象的 ActiveConnection 属性必须已经设置为有效的 Connection 对象或者连接字符串。
是不是,如果是用command对象的时候,ActiveConnection 这个参数不能传递连接
你试试用null呢
开始远离编程
2006-08-10
打赏
举报
回复
上面的代码我知道,但是这种方式得到的记录集有一个很大的缺陷。
就是记录集的打开方式是adOpenForwardOnly的。一般情况下没什么问题,但在我的程序当中,
使用的时候,不是那么方便。我希望打开方式是adOpenDynamic。
但是我又必须使用Command对象(譬如访问预编译SQL,或者存储过程)。
ado的Recordset的对象的open方法,支持直接将Command对象作为第一个参数(即数据源参数).
但是我没有实验成功。如果试验成功,我就可以将Recordset打开方式事先修改为adOpenDynamic
类型。
============下面是ado210.chm中的说明===============================
Open 方法 (ADO Recordset)
打开游标。
语法
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
参数
Source 可选,变体型,计算 Command 对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。
ActiveConnection 可选。变体型,计算有效 Connection 对象变量名;或字符串,包含 ConnectionString 参数。
使用 Recordset 对象的 Open 方法可打开代表基本表、查询结果或者以前保存的 Recordset 中记录的游标。
使用可选的 Source 参数指定使用下列内容之一的数据源:Command 对象变量、SQL 语句、存储过程、表名或完整的文件路径名。
如果 Source 是文件路径名,它可以是完整路径(“c:\dir\file.rst”)、相对路径(“..\file.rst”)或 URL(“http://files/file.rst”)。
WINCC中
使用
ADO
对象
连接数据库例子常用属性
方法
.doc
使用
ADO
对象
连接数据库可以
使用
CreateObject 函数创建
ADO
对象
,然后
使用
Connection
对象
的
open
方法
打开数据库连接,execute
方法
执行数据库查询或命令,最后
使用
close
方法
关闭数据库连接。
ACCESS如何
使用
ADO
对象
ADO
对象
:主要包括Connection
对象
(用于建立和管理与数据源的连接),
Recordset
对象
(用于存储和操作数据),
Command
对象
(用于执行SQL命令),Field
对象
(代表数据字段),Property
对象
(表示
对象
的特性),...
利用
Ado
控件和
Ado
对象
操作数据库
而
ADO
对象
则是一系列非可视化的编程
对象
,如Connection、
Command
、
Recordset
等,它们提供了与数据库进行低级别交互的能力。 1. **Connection
对象
**:它是与数据源建立连接的关键。通过设置ConnectionString属性,...
vc++下可以
使用
的
ADO
封装类
在C++中,你可以创建`
Ado
RecordSet
`
对象
,设置SQL语句,然后调用`
Open
`
方法
来执行查询。`
Ado
RecordSet
`还可能提供了遍历记录、检查当前记录状态、移动记录指针等
方法
。 2. **
Ado
类**: 这个基类可能包含了一些基础...
ADO
三大
对象
详解
ADO
三大
对象
分别是 Connection
对象
、
Command
对象
和
Recordset
对象
,每个
对象
都有其特定的属性和
方法
,本文将详细解释这些
对象
的属性和
方法
。 Connection
对象
Connection
对象
是
ADO
的核心
对象
,用于建立和...
数据库
4,017
社区成员
39,806
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章