我从一个MYSQL数据库中读出数据到MFC工程中,调试的时候查看row数组数据都是正确的,但是InsertItem和SetItemText函数的时候却出现的乱码
while(row=mysql_fetch_row(result)){
str.Format(_T("%d"),row[0]);//读int型数据
GetListCtrl().InsertItem(i,str);

str.Format(_T("%d"),row[1]);//读smallint型数据
GetListCtrl().SetItemText(i,1,str);

str.Format(_T("%s"),row[2]);//读char型数据
GetListCtrl().SetItemText(i,2,str); i++;
}
其中MFC工程和MYSQL数据库字符集都是Unicode

解决方案 »

  1.   

    row的数据类型错误,怎么能给一个数组定义那么多类型。row要么是int型,要么是char型,怎么同时定义了两种类型?
      

  2.   

    rom是这种类型的
    MYSQL_ROW row;
      

  3.   

    断点进去看看row[0]的内容到底是多少啊
      

  4.   

    row数组里面的内容都是正确的,但是str里面就变成乱码了
      

  5.   

    row只有一种类型啊,就是MYSQL_ROW类型的,后面是利用CStringT::Format格式化输出的啊