Название: QIBASE bindValue Отправлено: joker от Октябрь 31, 2011, 16:54 Не могу понять почему не работает bindValue/addBindValue на QIBASE драйвере.
вначале посмотрим что с драйвером (db подключен к нормальной живой базе) Код: QSqlDriver *drv = db.driver(); Код: true То есть именованные вроде не поддерживаем, но позиционные - должны Теперь сам запрос Цитировать queryRead = new QSqlQuery(); результат queryRead->prepare("select value from simpla$settings where userId = ? and key = ? and arrayIndex = ? "); queryRead->addBindValue(scope==0?userId:scope); queryRead->addBindValue(key); queryRead->addBindValue(arrayIndex); Цитировать QIBaseResult::exec: Parameter mismatch, expected 0, got 3 parameters То есть таки не поддерживается? Или я что-то не так делаю? Название: Re: QIBASE bindValue Отправлено: Whiplash от Ноябрь 02, 2011, 09:19 Чего-то не так делаешь, наверно. Или просто не работает.
Вот гораздо более крутой, чем дефолтный, драйвер для firebird (если, конечно, Firebird используешь): http://code.google.com/p/qtfirebirdibppsqldriver/ Там есть именованные плейсхолдеры. А со стандартным драйвером я поступал так: Код: QSqlQuery q(db.db); |