![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Dimix |
![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я новичек в программировании средствами Qt да еще и с использованием SQLite. Прошу сильно не критиковать.
Проблема такова. Существует главная БД, и N - количество дополнительных БД. В главной БД содержатся имена дополнительных БД. Делаю запрос по выбраному имени из главной БД и присваиваю имя переменной. Закрываю свою главную БД. И осуществляю соединение с БД имя которой содержится в переменной. Получаю. QSqlQuery::exec: database not open Я напливал на это оповещение и решил продолжить. Пытаюсь добавить в нее запись (ничего не происходит). Начинаю добавлять запись в Главную БД (соединение с которой разрывал) оно добавляет без проблем. (имена баз все разные) ОБЪЯСНИТЕ НОВИЧКУ. Спасибо! |
|
|
panter_dsd |
![]()
Сообщение
#2
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Код приведи закрытия подключения и открытия нового.
|
|
|
Dimix |
![]()
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Код приведи закрытия подключения и открытия нового.
Вроде все. Просто я там говнокода напечатал. ОЧЕНЬ МНОГО. |
|
|
panter_dsd |
![]()
Сообщение
#4
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Не храни db, ты всегда можешь его получить. Вот так примерно должно быть:
Сообщение отредактировал panter_dsd - 24.11.2010, 16:50 |
|
|
Dimix |
![]()
Сообщение
#5
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В этой строке же нужно указать какой тип БД я хочу использовать?
А в чем разница хранения? Еще заметил такую проблему вроде создаю запароленные БД, а могу открыть их без пароля. Как правильно? при создании
а при открытии так
|
|
|
panter_dsd |
![]()
Сообщение
#6
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
SQLite не поддерживает пароли.
QSqlDatabase::database () - указатель на дефолтное подключение. Т.е. когда ты делаешь addDatabase создается соединение, к которому ты из любого участка программы сможешь получить доступ через QSqlDatabase::database (). Так же можешь задать имя соединению:
|
|
|
Dimix |
![]()
Сообщение
#7
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Помоему я чет не правильно делаю у меня с дефолтным подключением пишет что БД не открыта. Но суть не в этом. Другими словами почему я подключаюсь к готовой БД SQLite и могу получить из нее данные, а дисконектнутся с ней и подключится к другой для просмотра данных у меня не получается (остается активна первая подключенная БД). |
|
|
panter_dsd |
![]()
Сообщение
#8
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Значит что-то ее держит. Модель какая-нибудь.
|
|
|
Dimix |
![]()
Сообщение
#9
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
panter_dsd |
![]()
Сообщение
#10
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Попробуй метод clear ().
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 1.9.2024, 5:50 |