Страница 1 из 1

SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 24 янв 2023, 16:00
leo_volt77
Привет всем.
Панель cMT-FHDX-820.
Кто работал с базой SQLite помогите . Заранее спасибо. В DB Browser создаю базу. В нее вносится данные о фактическом расходе компонентов на каждом замесе и общая фактическая масса и каждой строке выставляется дата и время. В работе есть необходимость делать выборку по дате и времени, чтобы посмотреть расход компонентов за определенное время. Начал с простого выборка по времени. Написал запрос SELECT * FROM BASE1 WHERE DATE BETWEEN '09:00:00' AND '21:00:00' и в таком формате могу выбрать с значение до секунды. А когда подставляю аргумент чтобы с панели можно было выбирать время SELECT * FROM BASE1 WHERE DATE BETWEEN '${1}' AND '${2}' . То выборка работает только по первым двум цифрам. Как это заставить работать?
Еще вопрос как вывести сумму по каждой ячейке отфильтрованной по дате и времени и с выводом результатов на панель. Подставляю например SUM а она не подсвечивается как функция.
Кто-то делал подобные вещи с WEINTEK подскажите куда копать и где может есть примеры мануалы по теме. :?:

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 24 янв 2023, 16:26
8bit
leo_volt77 писал(а):
Код: Выделить всё
SELECT * FROM BASE1  WHERE DATE     BETWEEN '${1}'  AND '${2}'


То выборка работает только по первым двум цифрам. Как это заставить работать?


кто угадает что в коде подставляется вместо ${1} и ${2} ?

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 24 янв 2023, 16:27
8bit
leo_volt77 писал(а):Подставляю например SUM а она не подсвечивается как функция.


не подсвечивается, но работает ?

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 24 янв 2023, 18:43
leo_volt77
8bit писал(а):
leo_volt77 писал(а):Подставляю например SUM а она не подсвечивается как функция.


не подсвечивается, но работает ?

Работает, просто не понятно это глюк или здесь так работает. Мало инфы по работе с функциями, как это работает в условиях программы. Демо как правило простые примеры, если нужно чтото более сложное только методом тыка, а если еще и сам первый раз такое делаешь.

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 24 янв 2023, 18:48
leo_volt77
8bit писал(а):
leo_volt77 писал(а):
Код: Выделить всё
SELECT * FROM BASE1  WHERE DATE     BETWEEN '${1}'  AND '${2}'


То выборка работает только по первым двум цифрам. Как это заставить работать?


кто угадает что в коде подставляется вместо ${1} и ${2} ?

В каком формате должен быть аргумент чтобы он подходил для сравнения с временем.

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 15 янв 2024, 18:46
leo_volt77
Добрый день. С датой сделал через макрос. Считываю дату из панели, разбиваю на отдельные цифры по две, а затем все собираю в строку с разделительными знаками и записываю в базу как просто текст. А потом в поле панели задаю дату в том же виде и формате и потом через запрос в базу делаю выборку.
Сейчас возник вопрос. Панель таже. База создается только на флешке. Вставил флешку загрузил туда базу которую тестил офлайн и онлайн на компе. А панель ее не хочет подтягивать. Попробовал через проводник и динамический путь - все работает. Не пойму в чем проблема. В окне настройки запроса, под строкой где пишется путь появилась надпись" %0: имя панели ". У меня стоит последняя версия программы Pro V6.09.01.357 и раньше по моему такой надписи не было. В видео по настройке там в очень старых версиях тоже такого нет. В версии 6.08 такого нет. Что это значит?
Сейчас возникла мысль попробовать загрузить программу в старой версии- отпишусь позже, как будет время. Сейчас интересно что изменилось в версии 6.09?

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 15 янв 2024, 18:49
8bit
leo_volt77 писал(а):Добрый день. С датой сделал через макрос. Считываю дату из панели, разбиваю на отдельные цифры по две, а затем все собираю в строку с разделительными знаками и записываю в базу как просто текст. А потом в поле панели задаю дату в том же виде и формате и потом через запрос в базу делаю выборку.
Сейчас возник вопрос. Панель таже. База создается только на флешке. Вставил флешку загрузил туда базу которую тестил офлайн и онлайн на компе. А панель ее не хочет подтягивать. Попробовал через проводник и динамический путь - все работает. Не пойму в чем проблема. В окне настройки запроса, под строкой где пишется путь появилась надпись" %0: имя панели ". У меня стоит последняя версия программы Pro V6.09.01.357 и раньше по моему такой надписи не было. В видео по настройке там в очень старых версиях тоже такого нет. В версии 6.08 такого нет. Что это значит?
Сейчас возникла мысль попробовать загрузить программу в старой версии- отпишусь позже, как будет время. Сейчас интересно что изменилось в версии 6.09?

добавьте скриншот

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 15 янв 2024, 21:39
leo_volt77
Изображение
Вот скрин в версии 6.09.

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 17 янв 2024, 10:54
8bit
leo_volt77 писал(а):В окне настройки запроса, под строкой где пишется путь появилась надпись" %0: имя панели ". Что это значит?

Weintek ответил так:
Это плейсхолдер. Например, имя вашей панели cMT-TEST, тогда можно использовать такой синтаксис пути к БД - %0_leo_volt77 и получить в рантайме полный путь к файлу в виде cMT-TEST_leo_volt77

Re: SQLite помогите разобраться с выборкой данных

СообщениеДобавлено: 17 янв 2024, 17:05
leo_volt77
Спасибо. Понял что не так. Слеш не в ту сторону. Хоть раньше это работало. В декабре тестил онлайн на ПК. В видеороликах тоже слеш влево, а сегодня пробую даже симулятор не работает. Прописал адрес и через проводник подтягиваю базу, смотрю, а в адресе слеш вправо. Попробовал-заработало. В версии 6,08 тоже самое.