Russian Qt Forum
Сентябрь 30, 2024, 08:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Sqlite Create Table в QSqlQuery  (Прочитано 13702 раз)
Kuper
Гость
« Ответ #15 : Сентябрь 21, 2010, 14:26 »

А что сообщает lastError() после выполнения exec()?

Там пусто(



Нашел ошибку)) все оказалось так просто((((

if(!query->exec("CREATE TABLE course(course_pk INTEGER PRIMARY KEY, name TEXT, number INTEGER NOT NULL,"
                                         " position INTEGER NOT NULL UNIQUE)"));

А можно для тех кто на бронепоезде, в чем ошибка была? Только в "." и "->"? Аналогичная ситуация:

        db = QSqlDatabase::addDatabase("QSQLITE", "LocalConnaction");
        db.setDatabaseName(QString("TestDB"));
        if (db.open())
        {
            QSqlQuery query(QSqlDatabase::database("LocalConnaction"));
            if ( query->exec("CREATE TABLE test(id INTEGER)") )
            {
               ui->TBStatus->setText("Fail. Query error: " + query.lastError().text() + "DB error: " + db.lastError().text());
            }
            else
            {
               ui->TBStatus->setText("Query OK");
            }
        }

Получаю следующий текст: Fail. Query error: DB error: (Т.е ошибок нет)
 
Записан
BRE
Гость
« Ответ #16 : Сентябрь 21, 2010, 14:31 »

А так компилируется?
Записан
Kuper
Гость
« Ответ #17 : Сентябрь 21, 2010, 14:36 »

А так компилируется?

Сорри. Стоило запостить сообщение, что бы понять свою ошибку. 2 ошибки.
1. query->exec конечно же не компилится, это я проверял и забыл убрать. Правильно query.exec
2. Получаю следующий текст: Fail. Query error: DB error: (Т.е ошибок нет) потому, что логику не правильно написал. Правильно if ( !query.exec("CREATE TABLE test(id INTEGER)") )
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 21.