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();
相关推荐
lsx2024066 小时前
JavaScript 条件语句
开发语言
玄同7656 小时前
Python 自动发送邮件实战:用 QQ/163 邮箱发送大模型生成的内容
开发语言·人工智能·python·深度学习·机器学习·邮件·邮箱
索荣荣6 小时前
Maven配置文件(pom.xml)终极指南
java·开发语言
钟智强6 小时前
React2Shell:CVE-2025-66478 Next.js 远程执行漏洞深度分析与代码剖析
开发语言·javascript·ecmascript
数研小生6 小时前
Python自然语言处理:NLTK与Gensim库
开发语言·python·自然语言处理
第七序章6 小时前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
数据知道6 小时前
PostgreSQL 故障排查:万字详解如何找出数据库中的死锁
数据库·postgresql
John_ToDebug6 小时前
Chromium回调机制的隐秘角落:当const &参数遇见base::BindOnce
c++·chrome·性能优化
消失的旧时光-19436 小时前
C++ 拷贝构造、拷贝赋值、移动构造、移动赋值 —— 四大对象语义完全梳理
开发语言·c++
AI_56786 小时前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai