myData *db = myData::getMyData(); string sql = "SELECT * FROM car"; int row = 0, col = 0; char ** qres; db->getData_exec(sql.c_str(), row, col, qres); vector<myData> data_list;遍历数据库
时间: 2023-06-14 22:04:09 浏览: 100
车辆品牌、车型数据、mysql格式
的查询结果,将结果存储在一个vector<myData>类型的变量data_list中:
for (int i = 0; i < row; i++) {
myData data;
for (int j = 0; j < col; j++) {
if (qres[i * col + j] != NULL) {
if (j == 0)
data.id = atoi(qres[i * col + j]);
else if (j == 1)
data.name = qres[i * col + j];
else if (j == 2)
data.color = qres[i * col + j];
else if (j == 3)
data.price = atof(qres[i * col + j]);
}
}
data_list.push_back(data);
}
在这段代码中,我们先定义了一个vector<myData>类型的变量data_list,用来存储查询结果。然后用for循环遍历查询结果,每次循环都创建一个myData类型的变量data,用来存储当前这一行的数据。
在内层的for循环中,我们根据列的编号,将查询结果中的值赋给myData对象的对应属性。需要注意的是,我们在赋值之前,先判断查询结果中的值是否为NULL,如果是NULL,则不进行赋值操作。
最后,将myData对象添加到data_list中,完成遍历。
阅读全文