C++ 获取每一行的数据 FetchRow() 用vector()实现

1、在LXData里面定义结构体

cpp 复制代码
    struct LXAPI LXData
	{
		const char* data = 0;
		int size = 0;
	};

2、在LXMysql.h和LXMysql.cpp分别定义和编写代码

cpp 复制代码
//获取一行数据
	std::vector<LXData>FetchRow();
cpp 复制代码
std::vector<LXData> LXMysql::FetchRow()
	{
		std::vector<LXData>re;
		if (!result)
		{
			return re;
		}
		MYSQL_ROW row = mysql_fetch_row(result);
		if (!row)
		{
			return re;
		}
		//列数,每一个数据的大小
		int fnum = mysql_num_fields(result);
		unsigned long* lens = mysql_fetch_lengths(result);
		for (int i = 0;i < fnum;i++)
		{
			LXData data;
			data.data = row[i];
			data.size = lens[i];
			re.push_back(data);
		}
		return re;
	}

3、测试,在test_LXMysql.cpp里面测试

cpp 复制代码
    //4、获取结果集
    sql = "insert into t_vedio (name) values ('test0001')";
    //多插入几个数据
    cout << my.Query(sql.c_str()) << endl;
    cout << my.Query(sql.c_str()) << endl;
    cout << my.Query(sql.c_str()) << endl;
    cout << my.Query(sql.c_str()) << endl;
    sql = "select *from t_vedio";
    cout << my.Query(sql.c_str()) << endl;

    my.StoreResult();//结果集本地全部存储
    for (;;)
    {
        auto row = my.FetchRow();
        if (row.size() == 0)
        {
            /*cout << "cedw" << endl;*/
            break;
        }
        row[2].SaveFile(row[1].data);
        for (int i = 0;i < row.size();i++)
        {
            if (row[i].data)
            {
                cout << row[i].data << " ";
            }
        }
        cout << endl;
    }

    my.FreeResult();


    cout << my.Query(sql.c_str()) << endl;
    my.UseResult();//开始接收结果集
    my.FreeResult();
相关推荐
布莱克6054 分钟前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
ruleslol7 分钟前
MySQL: OR查询为什么会导致索引失效
mysql
hongmai66688817 分钟前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘20 分钟前
C语言梦开始的地方19:文件操作
c语言·开发语言
Dovis(誓平步青云)21 分钟前
折叠屏悬停看视频,上半屏和下半屏应该各做什么
android·java·服务器·开发语言·安全·音视频
benchmark_cc32 分钟前
Python量化实战:如何检测并剔除历史数据中的“闪崩/乌龙指”异常价格点?
开发语言·人工智能·python·量化·quantdash·量化数据源
2501_9378609435 分钟前
Java多线程初阶(下)—— synchronized、volatile、wait/notify与经典并发工具
java·开发语言·jvm
Highcharts.js1 小时前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表
笨笨饿1 小时前
#135_代码中的类型重定义艺术:从基础封装到函数类型设计
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
统计学小王子1 小时前
R语言入门——ggplot2图例增加公式
开发语言·r语言