Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 29.09.2011, 05:38
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Ситуация такая: в главной форме создается и используется объект базы данных:КодC++ (Qt)QSqlDatabase managerDatabase;Объекты запросов типаКодC++ (Qt)QSqlQuery query(managerDatabase);Нормально создаются и исполняются.Теперь я хочу сделать собственный виджет, где бы использовалась уже подключенная БД.Объект запросов QSqlQuery должен быть общим, чтобы постоянно память не гонять.Соответственно, в описании класса имеемКодC++ (Qt)private: QSqlDatabase* database; QSqlQuery* query;Для передачи указателя на подключенную БД в новом виджете я создал следующую функцию:КодC++ (Qt)void wgtManager:repareDatabase(QSqlDatabase * db){ database = db; query = new QSqlQuery(*db);}Эта функция вызывается из кода главной формы в конструкторе, но после создания пользовательского интерфейса (экземпляр пользовательского виджета добавлен в *.ui):КодC++ (Qt)ui->setupUi(this);ui->wgmManager->prepareDatabase(&managerDatabase);При попытке использовать query в пользовательском виджете я получаю "QSqlQuery::exec: database not open" в debug-окошке.Что я упустил? Ведь код выглядит вполне стандартно..
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
добавление поля в существующую таблицу Guest Продолжение старого архива 0 16.10.2011 16:16
как привязать QGLWidget к конкретному виджету например фрейму Guest Новый архив 3 0 30.09.2011 10:12
Доступ к виджету родительского окна... Guest Третий архив вопросов и ответов 0 29.09.2011 16:36
Как послать сигнал родительскому виджету Guest Новый архив 2 0 28.09.2011 15:11
как вставить существующую php-страницу? Guest Новый архив 3 0 27.09.2011 18:32



© www.otvetnemail.ru - Форум вопросов и ответов.