Russian Qt Forum

Qt => Базы данных => Тема начата: FreTFuL от Январь 13, 2011, 19:51



Название: Вопрос по QSQLite
Отправлено: FreTFuL от Январь 13, 2011, 19:51
Вобщем создал БД. Питаюсь создать таблицу.
Код:
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("base.db");
    qDebug() << db.lastError();
    qDebug() << " Opened: " << db.open();
    QSqlQuery q;
    qDebug() << " Query: " <<q.exec("CREATE TABLE (ID INTEGER PRIMARY KEY NOT NULL, )"
    "Name TEXT NOT NULL, SurName TEXT NOT NULL, PassWord TEXT NOT NULL);");
Все компитится.При запуске в консоли видно.
Код:
QSqlError(-1, "", "") 
 Opened:  true
 Query:  false
Файлик создается. Но он пуст. И иконка как пустого файла а  не файла БД.


Название: Re: Вопрос по QSQLite
Отправлено: FreTFuL от Январь 13, 2011, 19:52
ОС: Ubuntu 11.04


Название: Re: Вопрос по QSQLite
Отправлено: White Owl от Январь 13, 2011, 20:39
Ну а ошибки проверять кто будет?
Добавь в конце:
Код:
qDebug() << q.lastError().text();
И оно тебе расскажет какой неправильный sql ты послал.


Название: Re: Вопрос по QSQLite
Отправлено: Пантер от Январь 13, 2011, 20:59
Скобка лишняя.
qDebug() << " Query: " <<q.exec("CREATE TABLE (ID INTEGER PRIMARY KEY NOT NULL, )"
    "Name TEXT NOT NULL, SurName TEXT NOT NULL, PassWord TEXT NOT NULL);");


Название: Re: Вопрос по QSQLite
Отправлено: FreTFuL от Январь 14, 2011, 10:45
Спасибо.Я Вчера тоже как увидел вывод ошибки так сразу и исправил!


Название: Re: Вопрос по QSQLite
Отправлено: FreTFuL от Январь 14, 2011, 12:12
Как можно узнать существует ли в Бд таблица с кое-каким названием?


Название: Re: Вопрос по QSQLite
Отправлено: Пантер от Январь 14, 2011, 12:15
QStringList QSqlDatabase::tables ( QSql::TableType type = QSql::Tables ) const