столкнулся с проблемой: необходимо получить доступ к скалярному результату выполнения процедуры firebird. подробнее в коде:
хранимая процедура GETANAGRAM (вход - :keyword, выход - :word)
BEGIN
FOR SELECT word FROM words WHERE keyword = :keyword INTO :word
DO SUSPEND;
END
...
QSqlQuery query(db);
query.prepare("EXECUTE PROCEDURE GETANAGRAM(:keyword)");
query.bindValue(":keyword", sort(word));
query.exec();
while (query.next()){
QString anagram = query.value(0).toString();
resultStringList << anagram;
}
...
Процедуры в Firebirde делятся на два типа:
1) Процедуры выполнения (возвращают одно значение) которые вызываются с помощью EXECUTE PROCEDURE MYPROCEDURE
1) Процедуры выбора (возвращают много значений благодаря SUSPEND) которые вызываются как обычные таблицы, т.е. с помощью SELECT * FROM MYPROCEDURE
благодарю за развернутый ответ
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)