Непонятные ошибки QSQlQuery (Qt4)

Модератор: Модераторы разделов

Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Непонятные ошибки QSQlQuery

Сообщение Assuri »

Вот есть код:

Код: Выделить всё

db = QSqlDatabase::addDatabase("QMYSQL");
//установка хостов, имени, пароля и имени БД
query = new QSqlQuery(db);
tableName = "check";
query->exec(QString("CREATE TABLE %1 (word TEXT,trans TEXT)").arg(tableName));

Результат:
No database selected QMYSQL: Unable to execute query

Откуда?
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Непонятные ошибки QSQlQuery

Сообщение sergio »

-DooM- писал(а):
14.10.2007 10:21
Вот есть код:
db = QSqlDatabase::addDatabase("QMYSQL");
No database selected QMYSQL: Unable to execute query


Не работал с, но судя по всему в первой строке - выбор драйвера базы данных, т.е. ДБ сервера, с которым собираетесь работать. На "приличных" БД поддерживается множество пользователей и множество баз данных (считайте что "аккаунтов"), к которым уже приписаны таблицы. Вот это вам и надо выбрать, я думаю.

To make use of the connection, you will need to set it up, for example by calling some or all of setDatabaseName(), setUserName(), setPassword(), setHostName(), setPort(), and setConnectOptions(), and then you'll need to open() the connection.


Напрасно вы проскипали
//установка хостов, имени, пароля и имени БД

не говоря уж про контроль ошибок.. И что там про open?
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Непонятные ошибки QSQlQuery

Сообщение eduard_pustobaev »

Проверь db.isOpen(), вдруг не создалась.
В дисгармонии со вселенной.
Спасибо сказали: