CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

mysql_eof()的问题

楼主haozw(疯之菜鸟)2003-11-03 13:57:44 在 其他数据库开发 / MySQL/Postgresql 提问

明明有十条结果,但用mysql_eof()判断却是为true(我直接提取行都能提出来),  
  请问各位高手,是怎么回事? 问题点数:50、回复次数:13Top

1 楼haozw(疯之菜鸟)回复于 2003-11-03 21:51:30 得分 0

没人能回答吗?Top

2 楼haozw(疯之菜鸟)回复于 2003-11-04 11:55:10 得分 0

晕。各位大大帮帮忙啥Top

3 楼haozw(疯之菜鸟)回复于 2003-11-08 17:41:29 得分 0

???Top

4 楼corben(coreben)回复于 2003-11-11 13:47:07 得分 10

没用过MYSQL的API,帮你顶Top

5 楼haozw(疯之菜鸟)回复于 2003-11-24 15:20:39 得分 0

是不是因为我用的mysql_store_result取值的原因。但是,我用mysql_use_result取值就和这完全相反,即使是到了最后条记录或着查询没有返回记录,判断结果一直为false。  
  Top

6 楼haozw(疯之菜鸟)回复于 2003-11-29 11:57:49 得分 0

痛苦中。。。。Top

7 楼czjcsdn(葫芦)回复于 2003-11-30 13:26:15 得分 10

I   want   to   know,   too.  
  help   up!!!Top

8 楼swotcoder(苦 丁 www.help2u.org)回复于 2003-11-30 14:27:50 得分 0

mysql_eof   用来判断是否返回了查询数据   True返回了   flase   没东西,你返回True说明有东西,没错吧?  
   
  你理解成什么了??Top

9 楼swotcoder(苦 丁 www.help2u.org)回复于 2003-11-30 14:44:05 得分 30

#include   <windows.h>  
  #include   <stdio.h>  
  #include   <string.h>  
  #include   "mysql.h"  
   
  int   main(void)  
  {  
   
  MYSQL   *demo;  
  MYSQL_RES   *result;  
   
  mysql_init(&demo);  
   
  //   please   don't   use   mysql_connect!  
  mysql_real_connect(&demo,   "localhost",   "root",   "mypassword",   "mysql",   0,   NULL,   0);    
   
  //   please   don't   use   mysql_query!  
  mysql_real_query(&demo,   "select   *   from   `mysql`.`user`   limit   0,   5000");  
   
  result   =   mysql_use_result(&mysql);  
   
  if(!mysql_eof(result))  
  {  
  fprintf(stderr,   "Error   Fucking:   %s\n",   mysql_error(&demo));  
  }  
   
  return   0;  
  }Top

10 楼swotcoder(苦 丁 www.help2u.org)回复于 2003-11-30 15:19:20 得分 0

mysql_eof()   用来决定是否到了最后一行,如果有10行数据,读取到11行时才会告诉你发生错误,因为11行实际上并不存在。使用mysql_store_result()时,你无须调用mysql_eof(),因为没有数据了mysql_store_result()会返回一个NULL给你!  
   
  mysql_eof()有数据返回非0值,也就是真,没数据返回0。  
   
  我想我的废话大概对你有用,因为这些都是帮助文档上讲的。没必须如此热烈的讨论!Top

11 楼haozw(疯之菜鸟)回复于 2003-12-01 16:12:32 得分 0

我想我可能是没说清楚,导致误解。我是说执行查询后,查询结果为十条记录,即是说:当前记录不是最后条。但这时候调用IsEnd,返回结果却为true(这是自定义函数,不是eof(),上边写错了,sorry),也就是函数判断当前是最后条记录,既是eof()返回值为0;明显不对!  
  这次清楚了。  
  bool   类名::IsEnd()  
  {  
          if(mysql_eof(m_pQuery))  
          {  
                  return   false;  
          }  
          return   true;    
  }    
  Top

12 楼swotcoder(苦 丁 www.help2u.org)回复于 2003-12-01 18:57:39 得分 0

bool   类名::IsEnd()  
  {  
          if(!mysql_eof(m_pQuery))  
          {  
                  return   false;  
          }  
          return   true;    
  }    
   
  Top

13 楼haozw(疯之菜鸟)回复于 2003-12-13 01:53:34 得分 0

我早就用其他方法实现了。虽然大家没帮上忙,还是结了。Top

相关问题

  • mysql..........
  • EOF问题
  • EOF在Linux下
  • Eof和Post();
  • EOF是什么
  • 关于EOF
  • 关于EOF
  • 什么是EOF
  • 关于EOF
  • (ADODB).EOF的问题

关键词

  • mysql
  • 数据
  • 查询
  • eof
  • 返回
  • isend
  • 判断
  • demo
  • 记录
  • 结果

得分解答快速导航

  • 帖主:haozw
  • corben
  • czjcsdn
  • swotcoder

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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