比较专业的ADO数据库操作的困惑

chenshijin 2003-10-16 03:27:06
对于ado访问数据库取结果集有多种情况,例如;(为了减少篇幅,去掉了结果判断和异常处理)

_RecordsetPtr record;
_ConnectionPtr conn;

record.CreateInstance(__uuidof(Recordset));
conn.CreateInstance(__uuidof(Connection));
conn->Open(...);

取结果集可以如下:
CString strSQL = "select * from table";
BSTR bSQL = strSQL.AllocSysString();
hr = record->Open(bSQL,(IDispatch *) conn,adOpenDynamic,adLockOptimistic,adCmdText)
另外,
_variant_t recordAffected;
record = conn->Execute(bSQL,&recordAffected,0);都可以取得结果集,还有用CommandPtr好像也可以取得结果集,可是这些方式有什么差别呢?挺让我困惑的,也没有相关的资料,望大家不吝指教!谢谢!
...全文
29 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
quanch 2003-10-16
  • 打赏
  • 举报
回复
在一些执行语句上有些不同,例如用record->Open就不能是delete语句。另外在一些细节上,比如游标等也不尽相同。一般查询用record->Open方式,其他如update、delete和insert等用conn->Execute。

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧