繁体   English   中英

用数据库值填充QTableWidget

[英]Populating QTableWidget with database values

在我的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 ++;
}

输出为-

在此处输入图片说明

我的代码有什么问题??? 我想念什么???

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

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

返回0,而myquery.next()始终返回false。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM