Example #1
0
	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;
	}
Example #2
0
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;
}