Форум
C/C++. Прикладные вопросы
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, K13, Вы писали: M>>Вроде смог сформулировать в коде, но в один if не понял как затолкать всё: K13>я бы делал обертки, возвращающие std::pair из самого результата и флага bool или даже std::optional K13>[ccode] K13>// тут я не в курсе, что там за типы K13>std::optional<QUERY_RES_TYPE> execHelperWrapper( DB_MGR *db, const QString& query ) K13>{ K13> bool ok = false; K13> auto qr = db->execHelper( query, &ok ); K13> return ok ? qr : std::nullopt; K13>} K13>std::optional<QString> selectFirstFieldOfFirstRowAsString( DB_MGR *db, const QString& query ) K13>{ K13> auto qr = execHelperWrapper( db, query ); K13> if ( !qr ) K13> return std::nullopt; K13> auto resVec = db->selectFirstResultToSingleStringVector( qr.value() ); K13> return !resVec.empty() ? resVec.front() : std::nullopt; K13>} K13>QDateTime dateTimeFromDbStringWrapper( std::optional<QString> s ) K13>{ K13> QDateTime res; K13> if ( s ) K13> res = dateTimeFromDbString( s.value() ); K13> return res; K13>} K13>[/ccode] K13>и тогда получается K13>[ccode] K13>QDateTime dtLastDate = dateTimeFromDbStringWrapper( selectFirstFieldOfFirstRowAsString( pDbMan, selectLastDateQueryText ) ); K13>if (dtLastDate.isNull() || !dtLastDate.isValid()) K13>{ K13> // пытаемся получить dtLastDate ещё как-то K13>} K13>if (dtLastDate.isNull() || !dtLastDate.isValid()) K13>{ K13> // Вот тут уже мы поняли точно, что всё пошло не так K13> continue; K13>} K13>// Ду Гуд Жоб Хере K13>[/ccode]
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …