Вероятно, ваш запрос вернет более одной строки результатов. В этом случае into(result)
потерпит неудачу, если result
является скалярным значением. Попробуйте добавить limit(0, 1)
, например:
session << query, into(result), limit(1), now;
чтобы вернуть только одну строку результата.
Однако это может быть не то, что вам нужно, поскольку вы получите строку случайных результатов, которая соответствует вашему запросу. Если вы хотите все, вы можете использовать вектор для получения результата, как в:
std::vector<double> result;
session << query, into(result), now;
Существуют также другие варианты получения многострочного результата, например, переходя по всем строкам результата, выполняя оператор несколько раз или используя RecordSet
. Подробности см. В образцах Binding и RecordSet .