查询表中所有数据时再将数据显示在tablewidget时:
为什么显示的结果全是表中的最后一个数据:
而表中正确的数据是:
查询表中所有数据时再将数据显示在tablewidget时:
为什么显示的结果全是表中的最后一个数据:
而表中正确的数据是:
#include
#include
#include
#include
#include
// 创建数据库连接
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("123456");
if (!db.open())
{
qDebug() << "Failed to connect to root mysql admin";
return;
}
else
{
qDebug() << "open mysql success!";
}
// 查询数据
QSqlQuery query;
query.exec("select * from student");
// 将查询结果显示到tablewidget
QTableWidget *tableWidget = new QTableWidget(this);
tableWidget->setRowCount(query.size());
tableWidget->setColumnCount(query.record().count());
int i = 0;
while (query.next())
{
for (int j = 0; j < query.record().count(); j++)
{
QString str = query.value(j).toString();
QTableWidgetItem *item = new QTableWidgetItem(str);
tableWidget->setItem(i, j, item);
}
i++;
}