powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соединение с БД QT4
7 сообщений из 7, страница 1 из 1
Соединение с БД QT4
    #35384486
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то не могу постигнуть гениальность задумки авторов QT (модуля для работы с БД)
проверяю QtSql.QSqlDatabase.connectionNames() - пусто (так и должно быть, пока все нормально)
для начала выбираем драйвер (в моем случае ODBC)
Код: plaintext
        self.db = QtSql.QSqlDatabase.addDatabase("QODBC")
потом как указано в документации делаем setDatabaseName (в случае с ODBC строка подключения)
Код: plaintext
        self.db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=TESTDB.mdb")
уже странно self.db.databaseName() дает как и положенно строку подключения, которую мы SET.
а в QtSql.QSqlDatabase.connectionNames() появляется "qt_sql_default_connection" - я ожидал databaseName.

QtSql.QSqlDatabase.removeDatabase(self.db.databaseName()) не работает

а дальше еще интереснее

Код: plaintext
1.
2.
        self.db2 = QtSql.QSqlDatabase.addDatabase("QODBC")
        self.db2.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=TESTDB2.mdb")
говорит что уже есть "qt_sql_default_connection" и старая удалена.

Как сделать соединение к более чем одной БД? какого фига именно даются сами, а не через setDatabaseName.

Что я не так делаю, не ужели придется делать для каждого соединения свой именнованный "Источники данных (ODBC)"? Кто постиг сею мудрость разработчиков?
...
Рейтинг: 0 / 0
Соединение с БД QT4
    #35384508
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм он даже если передать
self.db2.setDatabaseName("ACCESS_TESTDB")
где ACCESS_TESTDB - имя системного источника данных ODBC
он все равно говорит что уже есть "qt_sql_default_connection" и старая удалена.
...
Рейтинг: 0 / 0
Соединение с БД QT4
    #35384552
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а начинаю понимать у addDatabase есть второй параметр для имени соединения
...
Рейтинг: 0 / 0
Соединение с БД QT4
    #35384636
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
def func:        
        self.db = QtSql.QSqlDatabase.addDatabase("QODBC", "conn1")
        self.db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=TESTDB.mdb")
        self.db.open()
        ...
        self.db.close()
        QtSql.QSqlDatabase.removeDatabase("conn1")

почему QtSql.QSqlDatabase.removeDatabase("conn1") в консоль печатат что conn1 используется (но удаляет) причем это не эксепшен?
...
Рейтинг: 0 / 0
Соединение с БД QT4
    #35385904
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточни пожалуйста, на чем это ты пишешь?
И главное как у тебя объявлен self.db?
barrabasпочему QtSql.QSqlDatabase.removeDatabase("conn1") в консоль печатат что conn1 используется (но удаляет) причем это не эксепшен?Потому что ты не правильно объявил self.db. Троллтеки "ради удобства работы" сделали QSqlDatabase автоматически инстанциируемым классом. На практике это означает что объект типа QSqlDatabase надо всегда объявлять исключительно на стеке и ни в коем случае не как указатель.
...
Рейтинг: 0 / 0
Соединение с БД QT4
    #35386377
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на питоне 2,5
соответственно ни как не self.db объявлена т.к. в питоне типы определяются при инициализации
...
Рейтинг: 0 / 0
Соединение с БД QT4
    #35389499
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда я пас :(

Спроси тут: http://prog.org.ru/forum/index.php
Хотя там тоже в основном С++ используют...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соединение с БД QT4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]