Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соединение с БД QT4 / 7 сообщений из 7, страница 1 из 1
20.06.2008, 11:10
    #35384486
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
Что то не могу постигнуть гениальность задумки авторов 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
20.06.2008, 11:16
    #35384508
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
хм он даже если передать
self.db2.setDatabaseName("ACCESS_TESTDB")
где ACCESS_TESTDB - имя системного источника данных ODBC
он все равно говорит что уже есть "qt_sql_default_connection" и старая удалена.
...
Рейтинг: 0 / 0
20.06.2008, 11:32
    #35384552
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
а начинаю понимать у addDatabase есть второй параметр для имени соединения
...
Рейтинг: 0 / 0
20.06.2008, 12:03
    #35384636
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
Код: 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
20.06.2008, 18:11
    #35385904
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
Уточни пожалуйста, на чем это ты пишешь?
И главное как у тебя объявлен self.db?
barrabasпочему QtSql.QSqlDatabase.removeDatabase("conn1") в консоль печатат что conn1 используется (но удаляет) причем это не эксепшен?Потому что ты не правильно объявил self.db. Троллтеки "ради удобства работы" сделали QSqlDatabase автоматически инстанциируемым классом. На практике это означает что объект типа QSqlDatabase надо всегда объявлять исключительно на стеке и ни в коем случае не как указатель.
...
Рейтинг: 0 / 0
21.06.2008, 13:32
    #35386377
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
на питоне 2,5
соответственно ни как не self.db объявлена т.к. в питоне типы определяются при инициализации
...
Рейтинг: 0 / 0
23.06.2008, 20:36
    #35389499
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение с БД QT4
Тогда я пас :(

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


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