CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

为什么_RecordsetPtr 打开记录集时出错?

楼主xianghai(想海)2005-01-04 10:59:51 在 VC/MFC / 数据库 提问

如:  
  //******************数据库初始化********************************************  
  ::CoInitialize(NULL);  
  _ConnectionPtr   pubCn; //ado全局数据库名字  
  _RecordsetPtr     pubRs;  
  CString   strSQL;  
  BSTR   bstrSQL;  
  pubCn.CreateInstance(__uuidof(Connection));  
  pubCn->CursorLocation=adUseClient;  
  strSQL="Provider=MSDAORA.1;Password=space;User   ID=SP_main;Data   Source=SPMAIN;Persist   Security   Info=True";  
  pubCn->Open(_bstr_t(strSQL),"","",-1);  
  pubRs.CreateInstance(__uuidof(Recordset));  
  //pubRs->CursorLocation=adUseClient;  
  //pubRs->PutActiveConnection(pubCn.GetInterfacePtr());  
  //strSQL="select   *   from   SP_MAIN.CAR_BASEINFO";  
  if(pubCn->State)  
  {  
  strSQL.Format("select   *   from   SP_MAIN.CAR_BASEINFO");  
  bstrSQL=strSQL.AllocSysString();  
  pubRs->Open(bstrSQL,(IDispatch*)pubCn,adOpenDynamic,adLockOptimistic,adCmdText);  
  }  
   
  pubRs->Open(bstrSQL,(IDispatch*)pubCn,adOpenDynamic,adLockOptimistic,adCmdText);  
  就在这里打开记录集时出错,没有任何提示,请问是什么原因? 问题点数:0、回复次数:6Top

1 楼bobob(静思)回复于 2005-01-04 11:11:24 得分 0

那一行出错?Top

2 楼xianghai(想海)回复于 2005-01-04 11:20:56 得分 0

pubRs->Open(bstrSQL,(IDispatch*)pubCn,adOpenDynamic,adLockOptimistic,adCmdText);  
  就在这里打开记录集时出错,没有任何提示,请问是什么原因?  
  Top

3 楼hjunxu(hjun)回复于 2005-01-04 11:21:18 得分 0

加上  
  try{  
  }catch(   _com_error   &e)  
  {}  
  Top

4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-01-04 11:38:05 得分 0

try   catch捕捉一下错误Top

5 楼llm06(blacksheep)回复于 2005-01-04 12:16:22 得分 0

strSQL.Format("select   *   from   SP_MAIN.CAR_BASEINFO");  
  这句话好像有问题  
  你既然已经使用了sp_main来连接数据库,那么不需要再添加sp_main.  
  strSQL.Format("select   *   from   CAR_BASEINFO");Top

6 楼gooyan(超级替补)回复于 2005-01-07 23:24:53 得分 0

1.stdafx.h中加入  
  #import   "C:\Program   Files\Common   Files\System\ado\msado15.dll"   no_namespace   rename("EOF","adoEOF")    
  2。app文件的InitInstance中加入  
  if(S_OK!=OleInitialize(NULL))  
  {  
  AfxMessageBox("初始化COM组件库错误");  
  }  
   
   
  下面就是数据库操作  
  _ConnectionPtr   pConn;  
  _RecordsetPtr     pRs;  
  CString   strSQL;  
  pConn.CreateInstance(__uuidof(Connection));  
  pConn->CursorLocation=adUseClient;  
  strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";  
  pConn->Open(_bstr_t(strSQL),"","",-1);  
   
  pRs.CreateInstance(__uuidof(Recordset));  
  pRs->CursorLocation=adUseClient;  
  pRs->PutActiveConnection(pConn.GetInterfacePtr());  
   
  pRs1.CreateInstance(__uuidof(Recordset));  
  pRs1->CursorLocation=adUseClient;  
  pRs1->PutActiveConnection(pConn.GetInterfacePtr());  
   
  strSQL="select   *   from   catalog   order   by   cataid";  
  pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);  
   
  Top

相关问题

  • Ado中用_RecordsetPtr的->Execute方法插入记录时出错
  • 打开出错
  • 打开adodc出错
  • 在没有出错提示下,如何知道数据库连接成功,打开记录集成功>?
  • 为什么向数据库插入一条记录后再次打开该数据库会出错?
  • 插入记录时出错!
  • 删除记录出错?
  • asp删除记录出错
  • asp删除记录出错
  • servlet 插入记录出错

关键词

  • 数据库
  • pubcn
  • pubrs
  • bstrsql
  • strsql
  • pconn
  • recordsetptr
  • putactiveconnection
  • aduseclient
  • baseinfo

得分解答快速导航

  • 帖主:xianghai

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo