Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Litkevich Yuriy |
26.5.2008, 20:24
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
ViGOur, да можно и так как он, открывать/закрывать. Непонятно почему ошибку при закрытии выдает. Arceny, у тебя нигде модели нет связаной с БД, той что из концепции Модель/Представление ?
|
|
|
|
|
Arceny |
26.5.2008, 20:25
Сообщение
#12
|
![]() Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 15.4.2008 Из: Брянск Пользователь №: 149 Спасибо сказали: 0 раз(а) Репутация: 0
|
В общем всё понятно. В моей переменной cnf.dbType (QString) как раз и хранится тип драйвера БД - QSQLITE или QPSQL. В таком случае мне будет логичнее создать 2 объекта QSqlDatabase, в первом будет БД типа QSQLITE, во втором - QPSQL. При необходимости изменить хост/имя базы я вызываю db.close(), потом db.set*(), потом db.open() ... Так? Таким образом QSqlDatabase::removeDatabase() для перезагрузки драйвера под другой тип базы вызвать не прийдётся.
Нет, модели ещё нет. Модель будет :-) Сообщение отредактировал Arceny - 26.5.2008, 20:26 |
|
|
|
|
Litkevich Yuriy |
26.5.2008, 20:27
Сообщение
#13
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(Arceny @ 27.5.2008, 0:25) Link Таким образом QSqlDatabase::removeDatabase() для перезагрузки драйвера под другой тип базы вызвать не прийдётся. все верно |
|
|
|
|
ViGOur |
26.5.2008, 20:31
Сообщение
#14
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40
|
Угу, именно так.
Просто в данном случае QSqlDatabase является синглтоном, а при вызове: создаются два именованных синглтона, и их можно создать сколько угодно.Работать всеравно, что работаешь с одной БД. В принципе так оно и получается. Сообщение отредактировал ViGOur - 26.5.2008, 20:32 |
|
|
|
|
Litkevich Yuriy |
27.5.2008, 22:50
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
На счет этого сообщения:
Цитата(Litkevich Yuriy @ 18.5.2008, 1:47) Link QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work. Перевод такой: Цитата QSqlDatabasePrivate::removeDatabase: соединение 'qt_sql_default_connection' по-прежнему находится в использовании, все запросы, перестанут работать. Т.е. это не ошибка а предупреждение. Я тут в своей софтине проверил, ругань идет только в консоль отладки, а в GUI'ях нету - можно игнорить, я так думаю. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 10:22 |