Название: QSqlError(-1, "Driver not loaded", "Driver not loaded") Отправлено: lex_pc от Январь 15, 2014, 16:18 Доброго времени суток господа.
Проблема в том, что получается вот такая ошибка. Проект имеет следующий вид : Базовый класс : Base. Его конструктор Base(QSqlDatabase *db). От него наследуется 4 класса : A, B, C, D. Сначала создаю объект класса А, в нём используется подключение к БД, затем удаляю этот объект ( указатель на db в конструкторе явно не удаляется). Создаю объект класса В, однако в нём при использовании подключения к БД ( db) вылетает ошибка QSqlError(-1, "Driver not loaded", "Driver not loaded"). Нигде явно не освобождаю память, выделенную под db. База данных PostgreSQL 9.0. Qt 5.1.1. Название: Re: QSqlError(-1, "Driver not loaded", "Driver not loaded") Отправлено: Kurles от Январь 15, 2014, 16:39 Драйвер то вообще есть? Что говорит
Код ? Название: Re: QSqlError(-1, "Driver not loaded", "Driver not loaded") Отправлено: lex_pc от Январь 15, 2014, 17:03 drives : ("QSQLITE", "QMYSQL", "QMYSQL3", "QPSQL", "QPSQL7")
Kurles, Вы наверное не совсем меня поняли, Дело в том, что подключение к БД есть, проблема в том, что одно подключение не обслуживает несколько объектов разных классов. Название: Re: QSqlError(-1, "Driver not loaded", "Driver not loaded") Отправлено: Kurles от Январь 15, 2014, 17:40 Наверное неправильно используешь это самое соединение. Не обязательно всем классам передавать экземпляр QSqlDatabase, достаточно знать имя этого соединения.
Код
и в произвольном месте программы можно добраться до соединения с БД подобным образом: Код
Название: Re: QSqlError(-1, "Driver not loaded", "Driver not loaded") Отправлено: lex_pc от Январь 18, 2014, 13:10 Вот это то, что нужно. Спасибо большое. И всё - таки, почему при передаче возникает ошибка такого рода?
Название: Re: QSqlError(-1, "Driver not loaded", "Driver not loaded") Отправлено: gil9red от Январь 18, 2014, 13:19 Перед передачей, нужно открыть соединение :)
|