Я новичок в QT и испытываю странную проблему.У меня есть программа, которая использует QSQLquery для заполнения qtableview.После возврата на рабочий стол (Windows 10) после пробуждения из спящего режима или заставки qtableview остается пустым.
Обновление запроса (у меня есть кнопка для этого) не исправляет qtableview, соединение SQL по-прежнему отображается активным и сообщения об ошибках (с сервера SQL) не генерируются, а все остальное (выпадающие списки, текстовые поля)и т.д.) кажутся нормальными.
РЕДАКТИРОВАТЬ
Спасибо всем за помощь и комментарии!
Я потратил некоторое время, пытаясь воспроизвести ошибку, и проблема не связана с экраномзаставка / пробуждение от сна.Через некоторое время (20 - 30 минут) просмотр таблицы станет пустым.Я до сих пор не могу понять, почему это будет?Я неправильно использую указатели?
Опять же, благодарю за любую помощь, код для qtbaleview ниже, моя строка подключения находится в моем mainwindow.h;
MainWindow conn;
if(!conn.connOpen())
ui->label_sec_status->setText("<font color='red'>Failed to Open
Database</font>");
else
ui->label_sec_status->setText("<font color='green'>Connected</font>");
QSqlQueryModel * modal=new QSqlQueryModel();
QSqlQueryModel * modal2=new QSqlQueryModel();
QSqlQueryModel * modal3=new QSqlQueryModel();
QSqlQuery* qry=new QSqlQuery(conn.mydb);
QSqlQuery* qry2=new QSqlQuery(conn.mydb);
QSqlQuery* qry3=new QSqlQuery(conn.mydb);
qry->prepare("select top 100 * from [dbo].[LOG] order by DEAL_NO DESC");
qry2->prepare("select MNGR from [dbo].[Staff]");
qry3->prepare("select SalesP from [dbo].[Sales]");
qry->exec();
qry2->exec();
qry3->exec();
modal->setQuery(*qry);
modal2->setQuery(*qry2);
modal3->setQuery(*qry3);
ui->tableView->setModel(modal); // table view
ui->tableView->resizeColumnsToContents();
ui->tableView->setAlternatingRowColors(true);
ui->tableView->setStyleSheet("alternate-background-color: #99ceff; background-color: #f2f2f2;");
ui->combo_BUSN_MNGR->setModel(modal2); // combo box
ui->combo_SP_NAME->setModel(modal3); // combo box
delete qry; // release memory?
delete qry2;
delete qry3;
// conn.connClose(); // moved to destructor
qDebug() << (modal->rowCount());
}