Ошибка создания базы данных в Qt - PullRequest
2 голосов
/ 07 февраля 2011

Я использую этот код для создания базы данных.Но я получаю «ложь» в отладке.Я много пробовал, но это не работает.Что за ошибка в этом?

 QSqlQuery query;
qDebug() << query.exec("CREATE TABLE glucose (id INTEGER PRIMARY KEY AUTOINCREMENT, value INTEGER, date TEXT, time TEXT, duration TEXT, note TEXT");

   qDebug() << query.prepare("INSERT INTO glucose(id, value, date, time, duration, note)""VALUES(?, ?, ?, ?, ?, ?)");

   query.bindValue(1,edit_glucose->text().toInt());

   query.bindValue(2,datetime->date());

  query.bindValue(3,datetime->time());

  query.bindValue(4,"a");

   query.bindValue(5,edit_note->toPlainText());
   qDebug() << query.exec();

Ответы [ 3 ]

5 голосов
/ 07 февраля 2011

вы забыли закрыть запрос CREATE TABLE с помощью ")"

2 голосов
/ 07 февраля 2011

QSqlQuery имеет метод lastError (), возвращает информацию об ошибке:)

1 голос
/ 07 февраля 2011

Вы передаете в запросе INSERT поле id. Вы должны удалить его.

Запрос должен быть:

Debug() << query.prepare("INSERT INTO glucose(value, date, time, duration, note) 
                                      VALUES(?, ?, ?, ?, ?)");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...