crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> не работает AUTOINCREMENT, QT+SQLITE+CODEBLOCKS
Crockus
  опции профиля:
сообщение 28.3.2011, 16:06
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 21.3.2011
Пользователь №: 2528

Спасибо сказали: 0 раз(а)




Репутация:   0  


Создаю таблицу
query.exec("CREATE TABLE IF NOT EXISTS years (id INT AUTOINCREMENT, "
               "yearvalue INT, PRIMARY KEY (id))");
if(!query.isActive())
    QMessageBox::warning(0, "Create tables",
    query.lastError().text());

выдает ошибку
near "AUTOINCREMENT": syntax error Unable to execute statement

если меняю AUTOINCREMENT на AUTO_INCREMENT ошибки не выдает, таблицу создает
добавляю запись
query.exec("INSERT INTO years (yearvalue) VALUES(2011)");
    if(!query.isActive())
    QMessageBox::warning(0, "insert",
    query.lastError().text());

запись добавляется, но "id" остается равным 0
получаю данные
QString str;
   while (query.next()){
   int idd = query.value(0).toInt();
   str.append(QString("%1 ").arg(idd));
   int year = query.value(1).toInt();
   str.append(QString("%1 ").arg(year));
   }
    QMessageBox::warning(0, "values",
    QString("%1 ..").arg(query.numRowsAffected())+str);

при вызове size возвращает -1..0 2011 0 2012 и тд; numRowsAffected возвращает 1..0 2011 0 2012 и тд
в чем причина, спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 8.7.2024, 6:39