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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Qt 4.2.2] Не удается использовать QSqlQuery  (Прочитано 3478 раз)
NWhisper
Гость
« : Январь 28, 2007, 12:45 »

Всем привет!

Есть такой пример:
Код:

#include <QtSql>
#include <QtGui>

#include <iostream>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QSqlDatabase db;
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("test1.brd");
    if (!db.open())
    {
        std::cout << "Can't open the database.\n";
        return 1;
    }
    QSqlQuery query;
    query.prepare("SELECT * FROM tbl;");
    if (!query.exec())
    {
        std::cout << "Can't exec SQL.\n";
        return 1;
    }
    std::cout << db.tables().size() << std::endl;
    std::cout << query.size() << std::endl;
    db.close();
    return 0;
}

std::cout << db.tables().size() << std::endl; - показывает 7 таблиц, как и должно быть.
std::cout << query.size() << std::endl; - показывает -1, хотя в таблице tbl 6 записей...
Судя по книгам и форумам я пишу все правильно, но судя по результату - где-то косяк. Подскажите, плиз!
Записан
staks
Гость
« Ответ #1 : Январь 28, 2007, 13:25 »

cuery != query

в контексте std::cout << cuery.size() << std::endl;
Записан
NWhisper
Гость
« Ответ #2 : Январь 28, 2007, 13:31 »

Цитата: "staks"
cuery != query

в контексте std::cout << cuery.size() << std::endl;

Это я опечатался, когда пример набирал... Внес исправления.
Вопрос остается открытым!
Записан
Steven_Orko
Гость
« Ответ #3 : Январь 28, 2007, 15:48 »

Returns the size of the result (number of rows returned), or -1 if the size cannot be determined or if the database does not support reporting information about query sizes.

Попробуй так:
Код:
while (query.next()) {
         
         doSomething(query);
     }
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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