邮件订阅
5ucms教程,在MySQL数据库中使用C执行SQL语句 (3)
作者: 来源: 日期:2018/3/26 18:14:13 浏览量:12(滞后) 人气:LOADING...(实时) 【

5ucms教程,在MySQL数据库中使用C执行SQL语句 (3)检索数据

现在开始编写从数据库中检索数据的第一个程序。我们将选择所有年龄大于5的行的内容。不幸的是我们还不知道如何处理这个数据,所以我们能做的只有循环检索它。这便是 select1.c:

            #include             #include             #include "mysql.h"            MYSQL my_connection;            MYSQL_RES *res_ptr;            MYSQL_ROW sqlrow;            int main(int argc, char *argv[]) {            int res;            mysql_init(&my_connection);            if (mysql_real_connect(&my_connection, "localhost", "rick",            "bar", "rick", 0, NULL, 0)) {            printf("Connection success\n");            res = mysql_query(&my_connection, "SELECT childno, fname,            age FROM children WHERE age > 5");            if (res) {            printf("SELECT error: %s\n", mysql_error(&my_connection));            } else {            res_ptr = mysql_store_result(&my_connection);            if (res_ptr) {            printf("Retrieved %luows\n",(unsignedlong)mysql_num_rows(res_ptr));            while ((sqlrow = mysql_fetch_row(res_ptr))) {            printf("Fetched data...\n");            }            if (mysql_errno(&my_connection)) {            fprintf(stderr, "Retrive error: s\n",mysql_error(&my_connection));            }            }            mysql_free_result(res_ptr);            }            mysql_close(&my_connection);            } else {            fprintf(stderr, "Connection failed\n");            if (mysql_errno(&my_connection)) {            fprintf(stderr, "Connection error %d: %s\n",            mysql_errno(&my_connection),mysql_error(&my_connection));            }            }            return EXIT_SUCCESS;            }            


检索结果集并循环通过已检索的数据的重要部分都已突出显示。

一次检索一行数据

要按需要逐行检索数据,而不是立即获取全部数据并将它存储在客户机中,可以将mysql_store_result调用替换成 mysql_use_result:
            MYSQL_RES *mysql_use_result(MYSQL *connection);            


这个函数还取得一个连接对象并返回结果结合指针,或者出错时返回NULL。与mysql_store_result相似,它返回指向结果集对象的指针;关键的不同点在于返回时,实际上没有将任何数据检索到结果集,只是初始化结果集以准备好检索数据。

参考资料

您可以参阅本文在developerWorks全球站点上的英文原文.

本文章取自Wrox Press Ltd出版的Professional Linux一书的第5章。

关于作者

Rick Stones是一位系统设计师,他在一家大型泛欧制药分销和分配公司的IT部门工作。从1985年开始,他一直在使用各种形式的 UNIX,并且发现带有早期 .99 CD-ROM发行版的Linux。他用各种语言编写UNIX、Linux和其它平台的软件,同时还安装并管理几台Linux服务器。在非常有限的业余时间,他努力提高他的钢琴演奏技巧。

从大学时代开始接触C和UNIX V6时起,Neil Matthew对于UNIX和Linux已经超过20年的经验。从那时起他就在IT业工作,主要从事通信软件的开发,一直保持对于深奥的编程语言和开发技术的热情。现在,他作为系统设计师,对技术战略和QA提出建议。他热心于在公司企业内建立Linux商业案例。业余时间,写作或骑马为乐,Neil努力劝说他的妻子和两个孩子与他一起在乡间散步。Neil参与编写了Wrox Press发行的好几本书,最著名的是共同著作了Beginning Linux Programming和Professional Linux Programming。

欢迎您访问www.5ucms.org

本站推荐: 5ucms模板下载 5ucms插件下载 仿站联系Q3876307       [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:5ucms教程,在MySQL中弄丢了root密码怎么弥补
下一篇:5ucms仿站,在MySQL数据库中使用C执行SQL语句 (2)
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
5ucms教程,在MySQL数据库中使用C执行SQL语句 (3)的关键词:
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org