Класс для API SQLite «На основе штатного SQLite»

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

Класс для API SQLite «На основе штатного SQLite»

Сообщение Игорь Столяров »

Привет всем !

Имею непреодолимое желание апнуть ископаемый класс SQLite и у меня для этого есть 5 причин:

1. Направление интересное само по себе, а в контексте взаимодействия с Android / Web - незаменимое;
2. Расширены возможности, устранены известные ограничения и проблемы (подозреваю, что добавлены новые);
3. За годы (десятилетия !) накопились всевозможные исправления и доработки в куче разных мест;
4. Как-то хотелось бы вот это вот всё, собрать где-то в одном месте, что бы использовать по назначению;
5. Приглашаю всех кому не пофиг предыдущие пункты к обсуждению и развитию этого свободного проекта.

Буду потихоньку собирать и показывать на примерах решение реальных задач.

sqlite.png
Вложения
tSQLite.zip
Версия от 05.02.2023 г.
(724.03 КБ) 258 скачиваний
Последний раз редактировалось Игорь Столяров 29 Ноябрь 2024, 7:48, всего редактировалось 6 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 244
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 10 раз

SQLite for Clarion (Fork)

Сообщение SergioRaguzini »

Привет Всем!
Игорь Столяров писал(а): 09 Май 2023, 6:32 ....если приложение на C6.3" и на основании
чего возникло это сравнительное понимание - наверно я лучше не буду угадывать ...
признаюсь, c SQLite раньше не работал, а в HELP С11, увидел раздел касаемый SQLite, + в самом C11 он приустствует в Registered Database Engines
c11_SQLite.png
В старые проекты на С6.3, конечно, проще добавить использование стороннего класса чем переводить всю app на С11
Игорь Столяров писал(а): ...потрахаться над ошибками в 15-ти летнем классе...
наверное, слишком категорично, тем более, что Вячеслав его давно использует

А вот идея с картинками в классе tSQLite - отличная штука

Спасибо!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

SQLite for Clarion (Fork)

Сообщение finsoftrz »

То, что в с11 в виде драйвера, имеет проблемы с кириллицей.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

SQLite for Clarion (Fork)

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 09 Май 2023, 9:27 наверное, слишком категорично, тем более, что Вячеслав его давно использует
Когда разберёте работу с SQLite и реализуете с ним десяток проектов под Android -
то узнаете, что в этой фразе сразу два троллинга 16-го уровня. :idied:
Make Clarion Great Again ! 😎
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 244
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 10 раз

SQLite for Clarion (Fork)

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 09 Май 2023, 9:35 Когда разберёте работу с SQLite...
Игорь, посмотрел модернизированный вами (** ToySQLite (C) Igor Joiner, 2023) класс - все супер!
Нравятся основательные подходы, а то иногда что-нибудь скачаешь, а как это использовать, с какой стороны подойти - хез...
Вы же добавили описание и даже Example который вообще снимает все вопросы, ну и ваше решение с картинками - крутяк.
:ty:

Спасибо Всем за отклики
gopstop2007
Полимат
Сообщения: 1748
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 15 раз
Поблагодарили: 10 раз

SQLite for Clarion (Fork)

Сообщение gopstop2007 »

Как вывести кирилицу без преобразования в Browse и какой шрифт используется, если данные в UTF хранятся?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

SQLite for Clarion (Fork)

Сообщение Игорь Столяров »

gopstop2007 писал(а): 24 Ноябрь 2023, 20:45 какой шрифт используется, если данные в UTF хранятся
Дело ведь не в шрифте, а в кодировке ... И здесь поля, ключи и т.д.
Отобразить напрямую текст UTF-8 в BROWSE не получится до выхода Clarion 12.
Подождёте недельку ? ;)
Последний раз редактировалось Игорь Столяров 24 Ноябрь 2023, 21:24, всего редактировалось 1 раз.
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1748
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 15 раз
Поблагодарили: 10 раз

SQLite for Clarion (Fork)

Сообщение gopstop2007 »

Ведь еще в С11 обещали )
https://clarionsharp.com/blog/clarion-1 ... mentation/
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

SQLite for Clarion (Fork)

Сообщение Игорь Столяров »

Как известно, жаловаться лучше там, где обещали ... ;)
Но если нужно вчера - то подобный прибамбас с отображением UTF-8 в приложениях Clarion демонстрировал Дед Пахом уже давно.
Спросите, у него напрямую. :)
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5086
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 23 раза

SQLite for Clarion (Fork)

Сообщение kreator »

Игорь Столяров писал(а): 24 Ноябрь 2023, 21:16
gopstop2007 писал(а): 24 Ноябрь 2023, 20:45 какой шрифт используется, если данные в UTF хранятся
Дело ведь не в шрифте, а в кодировке ... И здесь поля, ключи и т.д.
Отобразить напрямую текст UTF-8 в BROWSE не получится до выхода Clarion 12.
Подождёте недельку ? ;)
Никто в C12 этого не обещал. В C2024 обещали 64-бит. Только после этого возможен Юникод. Если не ошибаюсь, RZ это прямо и говорил.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

SQLite for Clarion (Fork)

Сообщение Игорь Столяров »

kreator писал(а): 25 Ноябрь 2023, 18:36 В C2024 обещали 64-бит. Только после этого возможен Юникод
Здесь нет никакой связи ... :(
kreator писал(а): 25 Ноябрь 2023, 18:36 Если не ошибаюсь, RZ это прямо и говорил
Тема UNICODE в приложениях обещалась почти 7 годиков назад ...
https://clarionsharp.com/blog/clarion-1 ... mentation/
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1748
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 15 раз
Поблагодарили: 10 раз

SQLite for Clarion (Fork)

Сообщение gopstop2007 »

Игорь Столяров писал(а): 24 Ноябрь 2023, 21:16 Дело ведь не в шрифте, а в кодировке ... И здесь поля, ключи и т.д.
Отобразить напрямую текст UTF-8 в BROWSE не получится до выхода Clarion 12.
В принципе хранить текст в sqlite можно в том виде как есть (не utf) и выводить в таблицы через IMDD, с поиском и ключами проблем нет. Только одна проблема, если смотреть данные напрямую в file.sqlite увидишь вместо текста - ромбики. :D
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

SQLite for Clarion (Fork)

Сообщение Игорь Столяров »

gopstop2007 писал(а): 26 Ноябрь 2023, 14:04 В принципе хранить текст в sqlite можно
Можно. Но с точки зрения SQLite - это не текст, а некий бинарный массив. Или месиво, если точнее.
Т.е. Вы по нему не выполните ни запросы, ни поиск через SQL. И возникает вопрос, а напс тогда вот это вот всё ?
Те же BLOB поля в TPS (или MEMO в Btrieve) понятней и удобней в работе с большими фрагментами текста.

Мы используем SQLite для обмена данных с приложениями Android - это действительно удобно и красиво.
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5086
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 23 раза

SQLite for Clarion (Fork)

Сообщение kreator »

Игорь Столяров писал(а): 25 Ноябрь 2023, 18:41
kreator писал(а): 25 Ноябрь 2023, 18:36 В C2024 обещали 64-бит. Только после этого возможен Юникод
Здесь нет никакой связи ... :(
kreator писал(а): 25 Ноябрь 2023, 18:36 Если не ошибаюсь, RZ это прямо и говорил
Тема UNICODE в приложениях обещалась почти 7 годиков назад ...
https://clarionsharp.com/blog/clarion-1 ... mentation/
Теоретически связи нет. Но для RZ есть. Помнится, он в Фейсбуке кому-то отвечал. У меня сейчас не доступен. У кого есть, можете посмотреть.
Опять же, где обещание юникода в C12?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

SQLite for Clarion (Fork)

Сообщение Игорь Столяров »

kreator писал(а): 26 Ноябрь 2023, 14:38 Опять же, где обещание юникода в C12
Отступать уже некуда. Тем более это старая тема, снимки интерфейса с UNICODE делались ещё в C11 (2017 г.)
Скорее всего сделано и отложено до удобного момента. Подписка на C12 - самый подходящий момент для этого ! :)
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

SQLite for Clarion (Fork)

Сообщение finsoftrz »

Игорь Столяров писал(а): 26 Ноябрь 2023, 14:18 Мы используем SQLite для обмена данных с приложениями Android - это действительно удобно и красиво.
Аналогично. Еще больше для веба. Это дейсьвительно оптимальный вариант, формируем в настольном приложение файлик в sqlite, копируем на хостинг/мобилу, с ним сразу можно работать из php/b4a, без лишних телодвижений.
C6/C11, ШВС, tps/btrieve.
Ответить