Всем доброго времени суток!!!
Помогите кто чем может!!!
В общем решился изучать QT, уже почти неделю изучаю пытаюсь сделать небольшую программку в основе который лежит пример с
http://wiki.linuxformat.ru/index.php/LXF102:Qt4Все дело в том что планируемый движок базы данных MS SQL2005 с очень ограниченным количеством подключений а пользователей работающих с программой в несколько раз больше по этому есть необходимость закрывать соединение с базой данных вызвав db.close с последующим удалением из списка БД QSqlDatabase::removeDatabase("QODBC");
И если это сделать то QTableView появляется пустым.
Может кто знает как оставить данные в QTableView или QSqlQueryModel после закрытия соединения с Бд
С не большой модификацией код получился такой
#include <QtDebug>
#include <QtGui>
#include <QSqlDatabase>
#include <QSqlQueryModel>
#include <QSqlError>
#include <QTableView>
int main(int argc, char *argv[]){
QApplication a(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("local");
db.setDatabaseName("RC");
db.setUserName("user");
db.setPassword("pass");
if(db.open()){
EntrantListModel *EL = new EntrantListModel;
QSqlQueryModel * model = new QSqlQueryModel(0);
model->setQuery("SELECT UserLogin, UserRole FROM UserListID");
model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("User"));
model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Role"));
QTableView * view = new QTableView(0);
view->setModel(model);
view->setWindowTitle(QObject::trUtf8("UserList"));
view->show();
db.close();
QSqlDatabase::removeDatabase("QODBC");
}
return a.exec();
Заранее всем спасибо!