MySQL_ROW row; row=mysql_fetch_row(result); 这里的row[0],row[1].,
这里的row[0],row[1].,是什么类型的数据啊?想对row[ ]结果存放在一个数组里面,怎么办?
MYSQL_ROW 类型表示的是记录集里的一条数据,假如你的数据表里有10个字段,则
row[0]~row[9]里面保存的就是这10个字段的内容.
如果你不知道有多少个字段,则result对应的数据类型MYSQL_RES里面有一个叫field_count的变量,保存的是字段个数,另外还有个row_count保存的是记录条数,要把结果放到数据里面去,则可以试试下面的代码:
char cData[10][100];//假设有10个字段,每个字段最大长度为100个字节
//也可以使用刚才提到的field_count,row_count来动态分配数组
//取出一条数据
row= mysql_fetch_row(result);
//遍历每个字段
for(int i=0; i < result->field_count; i++)
{
//把字段值拷贝到数组中去
strcpy(cData[i], row[i]);
}
再问: mysql_real_query这个函数的用法知道吗?
再答: 给你一个我以前写的连接mysql并查询数据的示例,代码超过字数,直接下载附件吧
再问: 你的 这个我看得懂,但是,我之前编了一个程序,链接第一个数据库时候,select语句里面没有汉字,还是可以执行的,但是,换了个表以后,由于这个表里面有汉字,就不可以执行了, if(mysql_real_query(&mysql,ch_query,(UINT)strlen(ch_query))!=0) {AfxMessageBox("数据库中表格出错!"); } 这句代码执行不了。
再答: 没遇到过,表里有汉字,还是表名是汉字
再问: 两个都有汉字 ,数据库里面表的字段是汉字的,表名字也是汉字的。MySQL 命令行也可以执行的。但是就是做程序时候,数据库也连上了,就是到这里处理不了。
再答: 最好别用中文,调用一下mysql_errno函数,看看错误原因是什么