170 похожих чатов

Привет всем. Возникла проблема. В библиотеке libpqxx при получении значений из

дб, например
SELECT SESSIONID as SessionID USERLOGIN as UserLogin FROM CORE_USER_SESSION
при получении значений по типу имя столбца, значение столбца метод field.name убивает регистр, хотя в sql я написал ``` as SessionID ```
и на выходе получается ключ json с убитым регистром. Кто - нибудь сталкивался? Знает как поправить? Буду признателен за помощь
Сам код получения значений:
std::for_each(res.begin(), res.end(), [=](pqxx::tuple const & row)
{
std::for_each(row.begin(), row.end(), [=](pqxx::field const & field)
{
rapidjson::Value key(field.name(), result.get()->GetAllocator()),
value(field.c_str(), result.get()->GetAllocator());

result.get()->AddMember(key, value, result.get()->GetAllocator() );
});
});

12 ответов

7 просмотров

Да , это ошибка в твоей программе. Где -- ищи отладчиком. Да, зачем в лямбду захват по копированию?

и зачем for_each?

Dmitriy-Kushnaryuk Автор вопроса
Ilya Zviagin
Да , это ошибка в твоей программе. Где -- ищи отл...

C отладкой в проекте борода. Это модуль папача там с отладкой какая - то фигня.

Dmitriy-Kushnaryuk Автор вопроса
Alexander Karaev
и зачем for_each?

Ну можно было и через обычный for решил сделать череp for_each

Дели код на куски и пробуй. Можешь накорябать заглушек и протестировать. Use mock, luke.

Dmitriy-Kushnaryuk Автор вопроса

Ошибка была не в С++, А в коде запроса SELECT SESSIONID as "SessionID", USERLOGIN as "UserLogin" FROM CORE_USER_SESSION название полей нужно было через ковычки Лямбда в текущей ее интерпритации работает корректно. Всем спасибо за помощь.

Dmitriy Kushnaryuk
Ошибка была не в С++, А в коде запроса SELECT SE...

нет, не нужно. Лучше убери кавычки, они не нужны и вредны даже в данном случае.

Dmitriy Kushnaryuk
Ошибка была не в С++, А в коде запроса SELECT SE...

А, у тебя case-sensitive проблема что ли? Называй всё маленькими или заглавными, и всё.

Dmitriy-Kushnaryuk Автор вопроса
Ilya Zviagin
А, у тебя case-sensitive проблема что ли? Называй ...

case-sensitive,да. Мне надо из базы перегнать на уже готовый фронт через либу rapidjson. Они на входе ждут регистр такой. sql мне так возвращает. Если ставлю двойные ковычки, то все ок. И в Sql и в pqxx::field

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
just use free version ?? pycharm has a free version
Fan / Ac
9
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Привет, не могли бы подсказать почему "A tree falls in a forest" не отображается в journalctl? openlog ("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1); syslog (LO...
•_• Asmanov 🎓
3
Карта сайта