免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9459 | 回复: 2
打印 上一主题 下一主题

sqlite3_exec回调函数的返回问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-24 15:04 |只看该作者 |倒序浏览
sqlite3_exec回调函数的返回问题

请各位赐教:

执行sqlite3_exec查询整个数据库的时候,回调函数怎么能 返回全部的查询结果,

struct olt_info
{

    int olt_index;
    int olt_logo;
    char* olt_line;
    // int nmber;
};

int my_callback(void *olt_temp, int argc, char *value[], char *name[])
{
    struct olt_info *pdata = NULL;
    pdata = (struct olt_info *)olt_temp;

    int jj;
    for (int i = 0; i < argc; i++)
        jj = printf("%s == %s\n", name[i], value[i]);

    pdata->olt_index = (int)atoi(value[0]);
    pdata->olt_logo = (int)atoi(value[1]);
    pdata->olt_line = value[2];

    return 0;
}

这样可以打印,但是 不能返回。 这样做的话只能返回最后一个。无法全部返回。。请问怎么才能全部返回??

论坛徽章:
0
2 [报告]
发表于 2009-02-24 16:41 |只看该作者
这个回调函数在每得到一行结果的时候就会执行一次,所以pdata的的内容一直在变化。而你只能得到最后一行的结果。

试试用链表或队列来保存?

论坛徽章:
0
3 [报告]
发表于 2009-02-26 09:27 |只看该作者
链表不太会用,什么是队列?


[quote]原帖由 [i]lyreopera[/i] 于 2009-2-24 16:41 发表 [url=http://bbs3.chinaunix.net/redirect.php?goto=findpost&pid=10107471&ptid=1377796][img]http://bbs3.chinaunix.net/images/common/back.gif[/img][/url]
这个回调函数在每得到一行结果的时候就会执行一次,所以pdata的的内容一直在变化。而你只能得到最后一行的结果。

试试用链表或队列来保存? [/quote]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP