CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

VC中采用ADO访问SQL Server数据库 ,产生IDispatch eror #3092 .请给为高手指教。加分!!谢谢了,(附部分源程序)

楼主xushuwen1979(xsw)2004-09-01 22:26:16 在 VC/MFC / 数据库 提问

m_pConnection.CreateInstance(   __uuidof(Connection)  
  m_pRecordset.CreateInstance(   __uuidof(Recordset)   );  
  m_pCommand.CreateInstance(   __uuidof(Command)   );  
  m_pConnection->Open(   source   ,   user   ,   pwd   ,   NULL   );_bstr_t   sql);  
   
  _bstr_t   sql   =   "select   *   from   flightdata   where   experimentname   in   (   select   experimentname   from     flightexperiment     where   exeprimentdate   between   '"   +     QueryDlg.m_strFromDate   +   "'     and     '"   +   QueryDlg.m_strToDate   +   "'   )";  
   
  m_pCommand->ActiveConnection   =   m_pConnection;  
  m_pCommand->CommandText   =   sql;  
  m_pCommand->CommandType   =   adCmdText;  
  _variant_t       rowcount;  
  m_pRecordset   =   m_pCommand->Execute(   &rowcount   ,   NULL   ,   adCmdText   );  
   
   
  .........................................................................  
  ........................................................................  
   
  就产生了产生IDispatch   eror   #3092   错误。请各位大师指教!不胜感激!! 问题点数:50、回复次数:11Top

1 楼laiyiling(陌生人[MVP])回复于 2004-09-01 22:56:42 得分 10

给数据库的关键字都加上[]符号  
  sql   =   "select   *   from   [flightdata]   where   [experimentname].......Top

2 楼onlyyou0115(小文)回复于 2004-09-02 00:04:15 得分 0

谢谢laiyiling,小弟也受教Top

3 楼xushuwen1979(xsw)回复于 2004-09-02 11:13:14 得分 0

加上关键字后还是出现IDispatch   eror   #3092   错误。我用相同的语句在sql   server的查询分析器里面执行。可以得到想要的结果啊。请各位大哥出招,给小弟我指点迷津!!!Top

4 楼bohut(●伯虎● )回复于 2004-09-02 11:19:08 得分 10

3092——目标表已经存在  
  出现3092时是VIEW的名称对了,但view里面表的名称错了  
  将view里要查询的表修正Top

5 楼DebugXP(NULL)回复于 2004-09-02 11:32:39 得分 0

直接用m_pRecordset->Open执行SQLTop

6 楼xushuwen1979(xsw)回复于 2004-09-02 15:47:51 得分 0

view里面的表怎么修正   啊?能不能详细一点?多谢大哥了!Top

7 楼laiyiling(陌生人[MVP])回复于 2004-09-02 16:27:48 得分 10

_variant_t   vNULL;  
  vNULL.vt=VT_ERROR;  
  m_pRecordset   =   m_pCommand->Execute(   &vNULL,&vNULL,adCmdText   );Top

8 楼xushuwen1979(xsw)回复于 2004-09-02 21:11:57 得分 0

我再把问题说得详细一些  
  在数据库中建了2个表  
  表flightxepetiment:  
  有3个field:experimentname   ,   experimentdescribe   ,   experimentdate。  
   
  表flightdata:  
  有多个属性:expetimentname   ,   和很多试验参数。。。。。。。。。  
  其中表flightxepetiment的experimentname是主键。在表flightdata中是外键。查询的是expetimentdata在一定范围的试验参数的数值。  
   
  bstr_t   sql   =   "select   *   from   flightdata   where   experimentname   in   (   select   experimentname   from     flightexperiment     where   exeprimentdate   between   '"   +     QueryDlg.m_strFromDate   +   "'     and     '"   +   QueryDlg.m_strToDate   +   "'   )";  
   
  这个语句我在查询分析器里面验证过是正确的。  
   
  出现IDispatch   eror   #3092   错误不应该是语句错误啊。  
   
  可是我试验了好几中方法Recordset的Open和Command的Execute方法都出现这个错误!  
  但是我把语句改成bstr_t   sql   =   "select   *   from   flightdata   where   experimentname"  
   
  就不会出现错误。估计是查询语句错了,请各位高手指点!!感谢!!!  
  一定加分!!  
   
  Top

9 楼yankykxy(Yanky)回复于 2004-09-02 22:49:07 得分 20

"select   *   from   flightdata   where   experimentname   in   (   select   experimentname   from     flightexperiment     where   exeprimentdate   between   '"   +     QueryDlg.m_strFromDate   +   "'     and     '"   +   QueryDlg.m_strToDate   +   "'   )";  
   
  第二个     SELEECT   怎么没有输出的字段说明呢   ?Top

10 楼xushuwen1979(xsw)回复于 2004-09-03 09:47:58 得分 0

怎么说明第二个输出字段?高手能不能具体说清楚点好吗?谢谢了!!Top

11 楼xushuwen1979(xsw)回复于 2004-09-03 16:33:05 得分 0

各位高手快来看看这个问题怎么解决   啊。感觉不尽,等待中。。一定加分!!Top

相关问题

  • VC + ado
  • vc++ ADO access2000,为什么我的sql语句更新数据库出现Idispatch error
  • VC++ ADO问题
  • vc中ado问题
  • poor bird, ADO,CPropertySheet,IDispatch error#3127
  • 在vc中用ADO MD。
  • vc,ado,oracle!!!!看过来!!help!!!
  • 在VC中使用ADO
  • ADO访问数据库(vc)
  • vc++ 用ado连数据库??

关键词

  • 数据库
  • 查询
  • sql
  • experimentname
  • flightdata
  • pcommand
  • idispatch eror
  • vnull
  • 表
  • precordset

得分解答快速导航

  • 帖主:xushuwen1979
  • laiyiling
  • bohut
  • laiyiling
  • yankykxy

相关链接

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

广告也精彩

反馈

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