Russian Qt Forum

Qt => Базы данных => Тема начата: maks1596 от Январь 16, 2017, 19:50



Название: SQLite - создание таблицы
Отправлено: maks1596 от Январь 16, 2017, 19:50
Собственно, проблема заключается в том, что не получается создать таблицу в уже открытой базе данных. Метод с созданием таблицы всегда возвращает false.
Код
C++ (Qt)
bool DataBaseHelper::createTable() {
   return QSqlQuery("CREATE TABLE formula ("
                    "id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL"
                    "value VARCHAR(40) NOT NULL"
                    ");").exec();
}
 
Метод с подключением к базе.
Код
C++ (Qt)
bool DataBaseHelper::connect() {
   QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
   db.setDatabaseName("Formulas.sqlite");
   if(!db.open()) {
       qDebug() << "Не удалось открыть БД: " << db.lastError().text();
       return false;
   }
   qDebug() << db.tables();
   return true;
}
 


Название: Re: SQLite - создание таблицы
Отправлено: Old от Январь 16, 2017, 20:16
Проверяйте ошибки возвращаемые БД после выполнения запроса.
У вас нет запятой после поля id (перед value).


Название: Re: SQLite - создание таблицы
Отправлено: maks1596 от Январь 16, 2017, 20:34
Проверяйте ошибки возвращаемые БД после выполнения запроса.
У вас нет запятой после поля id (перед value).


Да, вы правы. Всё заработало. Спасибо!