因为用的是ODBC,所以得到的数据存放在字符串数组里声明如下:
char ID[10] = { 0 };
char Name[32] = { 0 };
short Age = 0;
char DorID[8] = { 0 };
char Gender[4]={0};
绑定字段
SQLBindCol(hStmt, 2, SQL_C_CHAR, ID, sizeof(ID), 0);
SQLBindCol(hStmt, 1, SQL_C_CHAR,Name, sizeof(Name), 0);
SQLBindCol(hStmt, 5, SQL_C_SHORT, &Age, sizeof(Age), 0);
SQLBindCol(hStmt, 3, SQL_C_CHAR, DorID, sizeof(DorID), 0);
SQLBindCol(hStmt, 4, SQL_C_CHAR, Gender, sizeof(Gender), 0);
获取数据后,为了用QTableView,添加Item如下:
baseModel->setItem(column, 0, new QStandardItem(ID));
baseModel->setItem(column, 1, new QStandardItem(Name));
baseModel->setItem(column, 2, new QStandardItem(Gender));
baseModel->setItem(column, 3, new QStandardItem(Age));
baseModel->setItem(column, 4, new QStandardItem(DorID));
但是中文显示乱码且数字也显示不全:
且Debug模式下,这些变量是正常获取的,问题应该出现在Qt控件的使用上,请问是哪里出错了?
你是不是应该给你的linux系统添加utf8字符集。