mysql_eof()的问题
明明有十条结果,但用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




