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 ответов

13 просмотров

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

и зачем 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

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта