MySQL学习笔记_13_Linux下C++/C连接MySQL数据库(三)--处理返回数_MySQL

php中文网
发布: 2016-06-01 13:18:01
原创
1086人浏览过

Linux学习笔记

bitsCN.com

Linux下C++/C连接MySQL数据库(三)

--处理返回数据

一、通过返回结果集中的字段数

unsigned int mysql_field_count(MYSQL * connection);//将MYSQL_ROW的值作为一个存储了一行数据的数组...
登录后复制

示例:

ghiblitattoo
ghiblitattoo

用AI创造独特的吉卜力纹身

ghiblitattoo 175
查看详情 ghiblitattoo
//一次取一个值的情况,另一种情况与其类似,修改处会标出#include <iostream>#include <fstream>#include <cstdlib>#include <mysql/mysql.h>using namespace std;void mysql_err_function(MYSQL * connection);void mysql_display(MYSQL * mysql,MYSQL_ROW sqlrow);int main(){    MYSQL * connection;    connection = mysql_init(NULL);    if (mysql_real_connect(connection,"localhost","root","123456","test",0,NULL,0))    {        cout << "Connection to MySQL Server is Succeed..." << endl;        string query = "select * from tmp15";        //getline(cin,query);        int res = mysql_query(connection,query.c_str());        if (res)        {            mysql_err_function(connection);        }        else        {            MYSQL_RES * my_res = mysql_use_result(connection);	//将mysql_use_result改为mysql_store_result即可得到另一种情况的结果(其实是相同的...)            if (my_res)            {                MYSQL_ROW sqlrow;                while ((sqlrow = mysql_fetch_row(my_res)))                {                    mysql_display(connection,sqlrow);                }                mysql_free_result(my_res);            }            else            {                mysql_err_function(connection);            }        }        mysql_close(connection);        cout << "Connection to MySQL Server is Closed!" << endl;    }    else    {        mysql_err_function(connection);    }}void mysql_err_function(MYSQL * connection){    if (mysql_errno(connection))    {        cout << "Error " << mysql_errno(connection) << " : "             << mysql_error(connection) << endl;        exit(-1);    }}void mysql_display(MYSQL * mysql,MYSQL_ROW sqlrow){    for (unsigned int i = 0; i < mysql_field_count(mysql); ++i)    {        printf("%s ",sqlrow[i]);        //cout << sqlrow[i] << ' ';	//不知到为什么将printf换成cout之后,打印值就会出错...思考ing...    }    cout << endl;}
登录后复制

二、获取一个字段的信息

1、MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result);  	2、MYSQL_FIELD定义:typedef struct st_mysql_field{    char *name;                        /* Name of column */    char *table;                        /* Table of column if column was a field */    char *org_table;                /* Org table name if table was an alias */    char *db;                        /* Database for table */    char *def;                        /* Default value (set by mysql_list_fields) */    unsigned long length;                /* Width of column */    unsigned long max_length;        /* Max width of selected set */    unsigned int flags;                /* Div flags */    unsigned int decimals;        /* Number of decimals in field */    enum enum_field_types type;        /* Type of field. Se mysql_com.h for types *
    
登录后复制
相关标签:
c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号