gpt4 book ai didi

c++ - 使用数据库值填充 QTableWidget

转载 作者:行者123 更新时间:2023-11-30 05:43:45 25 4
gpt4 key购买 nike

在我的 GUI 应用程序中,我想用来自 Oracle DB 的值填充 QTableWidget。我知道使用 QTableViewQSqlQueryModel 更简单。但我想稍后逐项访问数据,因此我想使用 QTableWidget

我已成功建立与我的 oracle 数据库的连接,用于填充数据的代码片段是 --

QSqlQuery myquery("select SL_NO, NAME, AGE from EMPLOYEE");

ui->tableWidget->setColumnCount(myquery.record().count());
ui->tableWidget->setRowCount(myquery.size());

int index = 0;
while(myquery.next())
{
ui->tableWidget->setItem(index,0,new QTableWidgetItem(myquery.value(0).toString()));
ui->tableWidget->setItem(index,1,new QTableWidgetItem(myquery.value(1).toString()));
ui->tableWidget->setItem(index,2,new QTableWidgetItem(myquery.value(2).toString()));
index ++;
}

输出是——

enter image description here

我的代码有什么问题???我错过了什么???

最佳答案

我看到这种效果的唯一原因是 myquery.size() 在

ui->tableWidget->setRowCount(myquery.size());

返回 0 并且 myquery.next() 总是返回 false。

如果 myquery.size() > 0 并且 myquery.value(0).toString() 将返回空字符串,您仍然会看到空行。

所以我怀疑您的查询是否返回了您希望返回的内容。使用一些 qDebugs 来验证您从数据库中获取的数据。

关于c++ - 使用数据库值填充 QTableWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30091766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com