несоответствие количества параметров в параметризованном запросе

Я использую довольно много параметризованных запросов в моем коде по соображениям производительности. Короче говоря, некоторые из них работают, некоторые нет.

Я инициализирую запрос во время создания моей оболочки базы данных следующим образом:

QString querystring = QString("SELECT somevalue FROM sometable "
                      "WHERE one_feature = :one_feature AND other_feature = :other_feature ");
myquery = QSqlQuery(db);
myquery.setForwardOnly(true);
myquery.prepare(querystring);

myquery этоQSqlQuery переменная-член моей оболочки базы данных. Позже, в функции, которая хочет использовать этот запрос, я делаю что-то вроде

int db_wrapper::fetch_some_value (int arg1, int arg2) {
    myquery.clear();
    myquery.bindValue(":one_feature", arg1);
    myquery.bindValue(":other_feature", arg2);

    qDebug() << "Bound values: " << myquery.boundValues();

    bool OK = myquery.exec();
    if (!OK) {
        int number = myquery.lastError().number();
        qDebug() << "db error " << number;
        qDebug() << "db error " << myquery.lastError().text();

#ifdef USE_EXCEPTIONS
        throw "Could not fetch some_value!";
#endif
    }

    // process data...
}

Я всегда получаю одно и то же сообщение об ошибке / вывод:

Bound values:  QMap((":one_feature", QVariant(int, 1) ) ( ":other_feature" ,  QVariant(int, 1) ) )  
db error  -1 
db error  " Parameter count mismatch" 
terminate called after throwing an instance of 'char const*'

Исключение не удивительно, но несоответствие количества параметров. Призыв кboundValues на самом деле показывает правильные значения и все, но я получаю это сообщение об ошибке. У меня есть похожие запросы, которые работают просто отлично.

Я попытался заменить значения позиционного связывания, переименовал заполнители, использовал? и значения позиционного связывания, все безрезультатно. У кого-нибудь есть идея, в чем может быть проблема?

Я использую Qt 4.7.3 и SQLite 3.7.4-2

Ответы на вопрос(1)

Ваш ответ на вопрос