CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

我要搜索的记录明明在库中没有,但ADO的_RecordsetPtr m_pRecordset却告诉我"已经找到!"

楼主gxning(gxning)2006-03-20 16:02:17 在 VC/MFC / 数据库 提问

//根据员工编号读取所有字段值  
  void   Cinfo_base::GetData(CString   cKSH)  
  {  
  //连接数据库  
  ADOConn   m_AdoConn;  
  m_AdoConn.OnInitADOConn();  
  //设置SELECT语句  
  _bstr_t   vSQL;  
  vSQL   =   "SELECT   *   FROM   info_base   WHERE   KSH="   +   cKSH;  
  //执行SELETE语句  
  _RecordsetPtr   m_pRecordset;  
  m_pRecordset   =   m_AdoConn.GetRecordSet(vSQL);  
   
  //就是这里!!!!!!!!!!!!!!!!!!  
  if   (m_pRecordset->adoEOF   ==   1)  
  AfxMessageBox("no   Found!");  
  else  
  AfxMessageBox("Found!");  
  ////////////////////////////////////////////////////////  
   
  //返回各列的值  
  if   (m_pRecordset->adoEOF   ==   1)  
  {  
  Cinfo_base();  
  }  
  else  
  {  
  KSH   =   cKSH;  
  XM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("XM");  
  XBDM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("XBDM");  
  CSRQ   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("CSRQ");  
  BYXXDM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BYXXDM");  
  BJH   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BJH");  
  MZDM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MZDM");  
  ZZMMDM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("ZZMMDM");  
  YZBM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("YZBM");  
  KSLBDM   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("KSLBDM");  
  XJH   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("XJH");  
  HKSZD   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("HKSZD");  
  LXDH   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("LXDH");  
  SFZH   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("SFZH");  
  BZ   =   (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BZ");  
  }  
  //断开与数据库的连接  
  m_AdoConn.ExitConnect();  
  }  
  我输了一个不存在的员工编号,程序报告"Found!",执行赋值语句时出错!这是怎么回事? 问题点数:20、回复次数:10Top

1 楼handsomerun(毛毛)回复于 2006-03-20 16:09:18 得分 0

如果你的sql没有写错的话  
  那么估计是  
   
  if   (m_pRecordset->adoEOF   ==   1)这个判断做的不对~~Top

2 楼handsomerun(毛毛)回复于 2006-03-20 16:13:09 得分 20

if(!(m_pRecordset->adoEOF   &&   m_pRecordset->adoBOF))  
   
   
  记录集非空~~  
  Top

3 楼gxning(gxning)回复于 2006-03-20 16:15:03 得分 0

如果有记录,可以正常显示!  
  现在问题是:不管有没有记录,   (m_pRecordset->adoEOF   ==   1)永远不会被执行!Top

4 楼gxning(gxning)回复于 2006-03-20 16:18:54 得分 0

handsomerun(毛毛)   :  
  if(!(m_pRecordset->adoEOF   &&   m_pRecordset->adoBOF))  
   
   
  记录集非空~~  
  试了,不成功!Top

5 楼handsomerun(毛毛)回复于 2006-03-20 16:22:15 得分 0

不知道是不是sql语句有问题啊  
   
   
  KSH是个什么类型的字段??  
  Top

6 楼gxning(gxning)回复于 2006-03-20 16:35:43 得分 0

亲爱的毛毛:  
    你好!我已成功了,你是一个高手,you   are   top!  
  if(!(m_pRecordset->adoEOF   &&   m_pRecordset->adoBOF))如果为空,那得到一个假值  
   
  甘小宁  
   
  Top

7 楼gxning(gxning)回复于 2006-03-20 16:38:33 得分 0

还有一个问题我家是ADSL上网,没有固定IP,如何远程访问里面的数据库?Top

8 楼handsomerun(毛毛)回复于 2006-03-20 16:39:11 得分 0

我晕,你和甘宁什么关系     :)  
   
  还有,你不是说用这个不成功吗??Top

9 楼gxning(gxning)回复于 2006-03-20 16:41:28 得分 0

你是哪个?甘宁是很重要的一个人我刚才将T和搞反了!Top

10 楼gxning(gxning)回复于 2006-03-20 16:43:43 得分 0

甘宁这么有名!我刚才将True和False搞反了!  
  Top

相关问题

  • 怎么样得到_RecordsetPtr m_pRecordset的记录个数?(ADO)
  • _RecordsetPtr m_pRecordset;怎么老出错?
  • ADO访问SQL Server时m_pRecordset->GetRecordCount();为什么返回-1 用access时正常
  • 急问m_pRecordset->Open
  • m_pRecordset->Open()出错
  • ADO访问SQL Server,m_pRecordset->GetCollect()括号中的字段名能用变量表示吗?
  • (LPCTSTR)(_bstr_t)m_pRecordSet->GetCollect("Content")
  • ADO中_RecordsetPtr的AddNew()问题
  • 请问如何使用_RecordsetPtr m_spRS,的m_spRS->EOF ?
  • 通过 pRecordset(ADO) 枚举字段名?

关键词

  • 语句
  • precordset
  • getcollect
  • adoeof
  • cksh
  • vsql
  • adoconn
  • lpctstr
  • bstr
  • 甘宁

得分解答快速导航

  • 帖主:gxning
  • handsomerun

相关链接

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

广告也精彩

反馈

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