db_mysql_rows(MYSQL_RES *my_res) { int ncolumn = __mysql_num_fields(my_res); MYSQL_FIELD *fields = __mysql_fetch_fields(my_res); // 取出变量名 for (int j = 0; j < ncolumn; j++) names_.push_back(fields[j].name); // 开始取出所有行数据结果,加入动态数组中 while (true) { MYSQL_ROW my_row = __mysql_fetch_row(my_res); if (my_row == NULL) break; db_row* row = NEW db_row(names_); for (int j = 0; j < ncolumn; j++) row->push_back(my_row[j]); rows_.push_back(row); } my_res_ = my_res; }
static void mysql_rows_save(MYSQL_RES* my_res, db_rows& result) { int ncolumn = __mysql_num_fields(my_res); MYSQL_FIELD *fields = __mysql_fetch_fields(my_res); // 取出变量名 for (int j = 0; j < ncolumn; j++) result.names_.push_back(fields[j].name); // 开始取出所有行数据结果,加入动态数组中 while (true) { MYSQL_ROW my_row = __mysql_fetch_row(my_res); if (my_row == NULL) break; db_row* row = NEW db_row(result.names_); for (int j = 0; j < ncolumn; j++) row->push_back(my_row[j]); result.rows_.push_back(row); } result.result_free = mysql_rows_free; result.result_tmp_ = my_res; }