Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Разработка баз данных _ Работа QSqlQuery

Автор: molchanoviv 26.9.2008, 18:41

QSqlQuery query = QSqlQuery();
    query.exec("SELECT type, name, filename, number, classname  FROM classTable WHERE classname='none'");
    if ( query.isActive() )
    {
        while(query.next())
        {
            /*Не имеющий отношения к делу кусок кода*/
            QSqlQuery anotherQuery = QSqlQuery();
            anotherQuery.prepare("SELECT type, name, filename, number, classname  FROM classTable WHERE classname='VALUES (?)'");
            QString str = query.value(4).toString();
            anotherQuery.bindValue(0, str);
            anotherQuery.exec();


второй запрос где VALUES (?) не работает. как его правильно написать?

Автор: ViGOur 26.9.2008, 19:13

Вот пример:

        QSqlQuery query;
        query.prepare("INSERT INTO employee (id, name, salary) "
                      "VALUES (:id, :name, :salary)");
        query.bindValue(":id", 1001);
        query.bindValue(":name", "Thad Beaumont");
        query.bindValue(":salary", 65000);
        query.exec();
Читай: http://crossplatform.ru/documentation/qtdoc4.3/qtsql.php

Автор: Tonal 26.9.2008, 19:15

anotherQuery.prepare(
  "SELECT type, name, filename, number, classname  FROM classTable WHERE classname='VALUES (' || ? || ')'");

Ну и в некоторых диалектах конкатенация строк может вместо || обозначатся +

Автор: molchanoviv 26.9.2008, 20:17

ViGour, поименованые параметры не помогают. я и сам их пробовал.

Tonal вот что выдает по вызову qDebug()<<anotherQuery.lastError().text();
Parameter count mismatch

Так, что больше никто не знает?

Автор: Tonal 1.10.2008, 8:16

Подожди, что ты сделать хочешь?
Какой запрос должен на сервер передаваться?
И сервер какой?

Автор: molchanoviv 1.10.2008, 8:20

уже ничего. проблема решена. а сервер SQLite

Автор: ViGOur 1.10.2008, 8:35

Ну так а решение где? :)
Прийдет страждущий, с подобной же проблемой, а решения нет...

Автор: molchanoviv 1.10.2008, 8:41

да я просто запрос перестроил подругому(абсолютно подругому)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)