1、在LXData里面定义结构体
struct LXAPI LXData { const char* data = 0; int size = 0; };
2、在LXMysql.h和LXMysql.cpp分别定义和编写代码
//获取一行数据 std::vectorFetchRow();
std::vectorLXMysql::FetchRow() { std::vector 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里面测试
//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();