C++ mysql 如何将读取出来的数据保存在数组中
res=mysql_store_result(&mysql);iwhile(row=mysql_fetch_row(res)){original_id[i]=row[2]...
res = mysql_store_result(&mysql);
i
while(row = mysql_fetch_row(res))
{
original_id[i]=row[2];//这样不对,出错
i++;
printf("\n");
} 展开
i
while(row = mysql_fetch_row(res))
{
original_id[i]=row[2];//这样不对,出错
i++;
printf("\n");
} 展开
1个回答
展开全部
MYSQL_ROW row; 是mysql内部的类型,可能是一个结构体A,mysql先执行以下desc table的操作,依照表结构创建字段,也可能只是得到一行数据有几列,分别是什么类型。
row = mysql_fetch_row(result)会取一样的数据,mysql里面每成功调用一次这个函数mysql_fetch_row就会取一行,类似
vector<struct A> v_a;
··········赋值v_a·········
全局定义 int x = 0;
function: mysql_fetch_row
while (x < v_a.size())
row = v_a[x++];
mysql_fetch_lengths是得到一个row里面有多少数据,也就是table里的字段数
后面取的过程就很简单了,某个字段row[i] 为空的时候,不做row[i] ? row[i] : "NULL" 取到的会是个'\0',这个对于程序处理是比较危险的,为空的时候就附值一个标识是比较常用的做法。
fyi
以上回答你满意么?
row = mysql_fetch_row(result)会取一样的数据,mysql里面每成功调用一次这个函数mysql_fetch_row就会取一行,类似
vector<struct A> v_a;
··········赋值v_a·········
全局定义 int x = 0;
function: mysql_fetch_row
while (x < v_a.size())
row = v_a[x++];
mysql_fetch_lengths是得到一个row里面有多少数据,也就是table里的字段数
后面取的过程就很简单了,某个字段row[i] 为空的时候,不做row[i] ? row[i] : "NULL" 取到的会是个'\0',这个对于程序处理是比较危险的,为空的时候就附值一个标识是比较常用的做法。
fyi
以上回答你满意么?
追问
没完全明白,针对我上面的给点详细代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询