l
ladaisakovaЖел. 23, 2017, 7:23 Т.Ж.
database not open
Здравствуйте, qt использую первый раз, для курсовой работы. Столкнулась с проблемой: в шести окнах я обращаюсь к базе данных, но только в двух все работает. При работе с остальными пишет database not open, хотя синтаксис везде аналогичный. Не могу разобраться :(
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
Г
- Геній
- Қыр. 13, 2024, 12:46 Т.Қ.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:66ұпай,
- Бағалау ұпайлары-1
t
- torgaev_2024
- Қыр. 8, 2024, 6:20 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:33ұпай,
- Бағалау ұпайлары-10
Соңғы пікірлер
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
ВР
Linux жүйесінде файлдарды қалай көшіруге болады Screenshot_20240802-065123.png
Влад РусоковТам. 2, 2024, 1:47 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Енді форумда талқылаңыз
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCTМаусым 25, 2024, 1 Т.Ж.
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
День добрый.
Работаю с SQLite, но я не прописываю класс database
я просто в каждом окне делаю #include "QSqlQuery" #include "QtSql/QSqlDatabase"
в двух окнах открывается, в остальных нет
Тогда странно, что вообще открывается в двух окнах.
Дело в том, что тот фрагмент кода, который Вы привели, я прописываю в конструкторе в cpp для каждого окна, где мне требуется база. Не понимаю, в чем проблема:(
Многократная попытка открытия базы данных уже открытой базы данных. Базу данных нужно или закрывать. или держать открытой в течение всего жизненного цикла. Попробуйте сделать коннект к базе данных один раз в файле main.cpp
Спасибо за совет! а как сделать так, чтобы в других окнах эта база была видна?
ее нужно будет как-то объявлять в cpp, где она буде использоваться?
Фактически объявлять в других местах кода её не нужно. В самых внутренностях Qt, в приватных классах, которые скрыты от пользователя, хранится что-то вроде вектора (контейнер), который хранит информацию о всех базах данных. После того, как база данных открыта, можно использовать QSqlQuery и другие классы без объявления заголовочного файла данного вспомогательного класса, если конечно, вы не добавили туда дополнительную вспомогательную логику.
спасибо) попробую
Попробовала так сделать, но теперь работает только окно входа. То есть в главном окне есть переход на окно входа и на регистрацию, в окне входа работает, а в регистрации нет.
Базу нигде не закрываю, не могу понять, в чем ошибка.
Тут уже код смотреть нужно, чтобы понять причину.