SQLite3+DBGrid - два варианта использования

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

SQLite3+DBGrid - два варианта использования

Сообщение aiisakov » 04.04.2019 13:09:02

Уважаемые гуру!

Благодаря вашим советам у меня начало получаться использование SQLite3+DBGrid.
(Windows 10, Lazarus 2.0)
Эта связка у меня работает двумя способами при использовании несколько разных наборов компонентов.
1. SQLite3DataSet, SQLite3Connection, SQLQuery, SQLTransaction, DataSource, DBGrid
2. SQLConnector, SQLTransaction, SQLQuery, DataSource, DBGrid

Но вот какие вопросы меня беспокоят:
Какая между ними разница? Чем они отличаются? Что лучше использовать? Так ли необходимо использовать SQLTransaction?
aiisakov
новенький
 
Сообщения: 15
Зарегистрирован: 09.10.2018 00:51:37
Откуда: Суздаль

Re: SQLite3+DBGrid - два варианта использования

Сообщение Vadim » 04.04.2019 15:23:03

aiisakov писал(а):Так ли необходимо использовать SQLTransaction?

Это легко проверяется... ;-) Уберите его из проекта или создайте малёхонький текстовый проект и попробуйте там обойтись без SQLTransaction.
aiisakov писал(а):Какая между ними разница? Чем они отличаются?

У Вас неправильно составлен список для выяснения различий. Разница будет в:
1) SQLite3DataSet;
2) SQLite3Connection, SQLTransaction, SQLQuery;
3) SQLConnector, SQLTransaction, SQLQuery.
Это будет три набора со схожим функционалом и поэтому их можно сравнивать.
1) Это аналог SQLite3Connection + SQLQuery. Обращаю особое внимание - отсутствует поддержка транзакций. Рассчитано на работу только с одной таблицей БД одновременно. Это аналог бывшего когда-то в Delphi TTable, т.е. одна БД - одна таблица. Насколько для Вас удобно использовать такую конфигурацию - судить не берусь: Ваш проект - Вам и решать. Но остальные программисты про этот компонент уже давно забыли именно из-за его однотабличности.
2) и 3) это почти 100%-ные аналоги. Разница только в том, что SQLite3Connection - специально предназначен для соединения только с одним типом базы - SQLite3. SQLConnector - это универсальный коннектор, там в одной из опций задаётся тип базы, к которой нужно подсоединится. Если проект предусматривает работу более чем с одним типом базы - это очень удобно. Если нет - пофиг...
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: SQLite3+DBGrid - два варианта использования

Сообщение aiisakov » 04.04.2019 16:48:02

Спасибо! Ответ исчерпывающий, всё стало намного яснее. Всё занесу в своё руководство "Педант-Лазарус". :!:
aiisakov
новенький
 
Сообщения: 15
Зарегистрирован: 09.10.2018 00:51:37
Откуда: Суздаль


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 29

Рейтинг@Mail.ru