l
Dec. 23, 2017, 6:23 p.m.
database not open
Здравствуйте, qt использую первый раз, для курсовой работы. Столкнулась с проблемой: в шести окнах я обращаюсь к базе данных, но только в двух все работает. При работе с остальными пишет database not open, хотя синтаксис везде аналогичный. Не могу разобраться :(
2
252
The question is asked by the articleQML - Lesson 016. SQLite database and the working with it in QML QtDo you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- DTApril 14, 2025, 3:38 p.m.Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
День добрый.
Работаю с SQLite, но я не прописываю класс database
я просто в каждом окне делаю #include "QSqlQuery" #include "QtSql/QSqlDatabase"
в двух окнах открывается, в остальных нет
Тогда странно, что вообще открывается в двух окнах.
Дело в том, что тот фрагмент кода, который Вы привели, я прописываю в конструкторе в cpp для каждого окна, где мне требуется база. Не понимаю, в чем проблема:(
Многократная попытка открытия базы данных уже открытой базы данных. Базу данных нужно или закрывать. или держать открытой в течение всего жизненного цикла. Попробуйте сделать коннект к базе данных один раз в файле main.cpp
Спасибо за совет! а как сделать так, чтобы в других окнах эта база была видна?
ее нужно будет как-то объявлять в cpp, где она буде использоваться?
Фактически объявлять в других местах кода её не нужно. В самых внутренностях Qt, в приватных классах, которые скрыты от пользователя, хранится что-то вроде вектора (контейнер), который хранит информацию о всех базах данных. После того, как база данных открыта, можно использовать QSqlQuery и другие классы без объявления заголовочного файла данного вспомогательного класса, если конечно, вы не добавили туда дополнительную вспомогательную логику.
спасибо) попробую
Попробовала так сделать, но теперь работает только окно входа. То есть в главном окне есть переход на окно входа и на регистрацию, в окне входа работает, а в регистрации нет.
Базу нигде не закрываю, не могу понять, в чем ошибка.
Тут уже код смотреть нужно, чтобы понять причину.