[英]Populating QTableWidget with database values
在我的GUI应用程序中,我想用来自Oracle DB的值填充QTableWidget
。 我知道使用QTableView
和QSqlQueryModel
。 但是我想稍后逐项访问数据,因此我想使用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.