转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
在MySQL数据库中使用C执行SQL语句 (5)         ★★★★

在MySQL数据库中使用C执行SQL语句 (5)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:728 更新时间:2009/4/22 20:44:53

这个函数返回一个偏移值,它表示结果集中的当前位置。它不是行号,不能将它用于mysql_data_seek。但是,可将它用于:

MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset);


它移动结果集中的当前位置,并返回以前的位置。

有时,这一对函数对于在结果集中的已知点之间跳转很有用。请注意,不要将row tell和row seek使用的偏移值与data_seek使用的行号混淆。这些是不可交换的,结果将是您所希望看到的。

void mysql_free_result(MYSQL_RES *result);


完成结果集时, 必须总是调用这个函数,以允许MySQL库整理分配给它的对象。

 检索数据

现在开始编写从数据库中检索数据的第一个程序。我们将选择所有年龄大于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相似,它返回指向结果集对象的指针;关键的不同点在于返回时,实际上没有将任何数据检索到结果集,只是初始化结果集以准备好检索数据。


[MySql]MySQL数据库德集群配置一般过程 (5)  [MySql]在MySQL数据库中使用C执行SQL语句 (4)
[MySql]在MySQL数据库中使用C执行SQL语句 (2)  [MySql]在MySQL数据库中使用C执行SQL语句 (3)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台