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

Zeos, SQLdb, IBX - что лучше?

СообщениеДобавлено: 13.04.2015 18:43:15
superval
Долго сидел на Дельфи. Вот решил мигрировать на Лазарус.
Посоветуйте, какие компоненты лучше использовать для работы с FireBird 2,5 (база сетевая) - Zeos, SQLdb или IBX? Смущают несколько моментов:
1. В Zeos нет транзакции. Наверное больше расчитаны для работы с локальной базой. Или я чего-то не знаю...
2. В SQLdb-вском Query не такая удобная работа с запросами типа InsertSQL, UpdatesQL, ... как в IBXовском IBDataSet. Но там можно навесить индекс на компонент, а в IBDataSet только менять в тексте запроса (напр, на форме радиокнопками пользователь указывает, по какому полю провести индексацию).
Больше склоняюсь к IBX. Или может есть еще что посмотреть?
И еще. Есть ли какие- нибудь DBGrid-ы, кроме стандартного? Читал про rxlib и ehlib, но что-то по ним обновлений давно нет, умерли чтоли? Хотелось бы что-то вроде сеток из DevExpress. С LookUp-ами, CheckBox-ами и прочим.

Re: Zeos, SQLdb, IBX - что лучше?

СообщениеДобавлено: 13.04.2015 19:27:51
*Rik*
superval
Можете глянуть мои наработки:
Модифицированная IBX (предполагаю, Вы её уже видели). Сортировки локального кэша нет, но есть свойство OrderFields, при установке значения которого, парсится SQL запрос и изменяется/добавляется инструкция OrderBy, работает как FIBPlus через 2 транзакции. Поддерживаются выражения EXECUTE BLOCK и возвращаемые значения (RETURNING).
Есть ещё платные IBDac, когда-то пробовал, нормально работают. Остальное не понравилось.

Есть грида вот такая. Можно использовать 2 поля в одном столбце, есть отрисовка иконок в ячейках из ImageList, в зависимости от значения поля, перенос текста в ячейках, ну чекбоксы изначально в гридах лазаруса присутствуют. Обрисовку ячеек, если не нравится обрисовка двойной линией, можно сделать стандартную.
Изображение

Изображение

Про rx alex расскажет..

Re: Zeos, SQLdb, IBX - что лучше?

СообщениеДобавлено: 13.04.2015 20:01:29
slyubez
По поводу компонентов доступа - если Вы работали со связкой Delphi+Firebird, Вам, наверное, должно быть известно, что дельфийские компоненты IBX не поддерживают уйму фич современного Firebird. К версии IBX от *Rik* для Lazarus это не относится - в целом, это лучший выбор (естественно, при условии того, что не придется мигрировать на другую СУБД). Если же Вы плохо знаете, как работать с этими компонентами, вот статья для ознакомления (моменты по установке относятся только к Delphi, а не к Lazarus):
http://www.ibase.ru/devinfo/ibx.htm

Добавлено спустя 6 минут 27 секунд:
Да, и важный момент. Самый частый источник подводных камней в Lazarus - это то, что библиотека LCL заточена под кодировку UTF-8, а компилятор - под ANSI. Особенно это важно при работе с отдельными символами строк и с файловыми функциями ОС Windows. Рекомендую почитать обсуждения здесь и статьи на официальной вики Lazarus.

Добавлено спустя 8 минут 24 секунды:
Применительно к теме это означает, что Вы можете через эти компоненты подключаться к БД, задав кодировку UTF-8 и передавая данные из БД непосредственно в компоненты LCL без какого-либо конвертирования.

Re: Zeos, SQLdb, IBX - что лучше?

СообщениеДобавлено: 13.04.2015 22:43:49
alexs
1.
superval писал(а):В Zeos нет транзакции
- плохо смотрели. Поддержка транзакций там есть. Там нет разделения на читающую и пишущюю.
2.
superval писал(а):С LookUp-ами, CheckBox-ами и прочим.
- это даже стандартный гирид умеет. RxDBGrid - в дополнение к стандартному - многоколоночные заголовки, итоговые строки, сортировки на лету, интеграция с LazReport-том, выгрузки в ексель, фильтрации по колонкам и прочее....