В моем приложении GUI я хочу заполнить QTableWidget
значениями из базы данных Oracle. Я знаю, что это проще сделать, используя QTableView
и QSqlQueryModel
. Но я хочу получить доступ к данным позже по позиции, поэтому я хочу использовать QTableWidget
.Заполнение 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 ++;
}
Выход -
Что случилось с моим кодом ??? что мне не хватает ???
ну, запрос выполняется нормально, ошибок нет (db.lasterror) – RicoRicochet
Я устанавливаю if else control на query.exec(), чтобы увидеть ошибку, но он пришел к сообщению о успешном qDebug, т.е. приходите к предложению else, содержащему db.lasterror – RicoRicochet
Это не означает, что вы получаете значения. Когда соединение с базой данных в порядке, вы получаете пустой результат. Ничего в EMPLOYEE? – Greenflow