Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
помниться что во первых что в SQLite типы полей опциональны и можно не упарываться над указаниями и приведением типов. Он-же не спроста "Lite"
длинный запрос можно разбить на 3-4-5 :-)
BEGIN TRANSACTION
INSERT INTO myTable VALUES (...); --- тут можно получить PrimaryKey
UPDATE myTable .... ; --- обновить по Primary
UPDATE myTable ... ; --- ещё...
COMMIT ; --- это если все запросы удачны.. иначе ROLLBACK
это по старой памяти, то есть надо уточнять в справке
воспроизводимый код запроса бы мне, долго гуглить буду, с БД работал эпизодически - есть задача, нагуглил, решил - но посмотреть провальный запрос к БД хотел бы
Конкретно твоя задача, примерно так должна решаться:
мелкий фикс, в котором ещё скобки править :-)
основная мысль - использовать не UPDATE x VALUES (), а UPDATE x SET name1=value1,name2=value2. Чтобы запрос корректно работал при изменениях структуры базы и не зависил от порядка перечисления полей
есть примерно такой код (читаю из БД текстовые поля и хочу в enum конвертировать)
2020.09.01 18:59:02.593 tst (EURUSD,M5) Aq in A = Aq
2020.09.01 18:59:02.593 tst (EURUSD,M5) Bw in B = Bw
2020.09.01 18:59:02.593 tst (EURUSD,M5) Error, No not in C
все работает, но вопрос опять в оптимальном коде:
если какой-нибудь способ записать вместо txtToEnumA() , txtToEnumB(), txtToEnumC()
один шаблонный метод ( template )
проблема в разных количествах элементов в enum
А если будет вот такой enum:
?
А если будет вот такой enum:
?
пронумеровать элементы перечисления не вопрос, не понятно что это даст
перечислений всего 4 у меня, не нумерованные
проблема, что могу захотеть добавить в перечисления новые элементы - в моем коде буду добавдять в НЕ крайние элементы - код будет работать - не нравится громоздкость этого кода
но речи не идет о неком универсальном коде на все случаи жизни,, нужно текущую задач в шаблон
ЗЫ: от перечислений уйти не получится - удобно, что могу одинаково читать данные как в исходнике так и в БД, и в БД возможно захочу руками некоторые поля подправить.... в общем устраивает все
пронумеровать элементы перечисления не вопрос, не понятно что это даст
перечислений всего 4 у меня, не нумерованные
проблема, что могу захотеть добавить в перечисления новые элементы - в моем коде буду добавдять в НЕ крайние элементы - код будет работать - не нравится громоздкость этого кода
но речи не идет о неком универсальном коде на все случаи жизни,, нужно текущую задач в шаблон
ЗЫ: от перечислений уйти не получится - удобно, что могу одинаково читать данные как в исходнике так и в БД, и в БД возможно захочу руками некоторые поля подправить.... в общем устраивает все
сделай сразу глобальный массивчик и заполни его парами { EnumToString(x) , x }
struct StringID {
string str;
int id;
};
StringID IDS[];
сделай сразу глобальный массивчик и заполни его парами { EnumToString(x) , x }
struct StringID {
string str;
int id;
};
StringID IDS[];
Ваш вариант от моего мало чем отличается, тоже громоздкий и если будут правки в коде, то придется и массивы править
решил так свою хотелку:
2020.09.01 22:08:47.417 tst (EURUSD,M5) Aq in A = Aq
2020.09.01 22:08:47.417 tst (EURUSD,M5) Bw in B = Bw
2020.09.01 22:08:47.417 tst (EURUSD,M5) Error, No not in C
еще б дефайнов , чтоб не вводить LastElement, но в целом уже компактнее код получился
Доброго времени суток.
Смотрел многое по макросам на форуме, каких-то тематических статей по теме как оптимально ускорить разработку советников и индикаторов если в меню очень много однотипных настроек за счет разных вариантов макроподстановок - не нашел.
Да, тема банальная, но всё ещё интересная. Никто вроде это все в один стек не собирал? Какие оптимальные решения известны?