Lazarus + Firebird
Модератор: Модераторы
Lazarus + Firebird
Подскажите как средствами Lazarus подключиться к базе Firebird, покажите какой нибудь маленький пример, заранее спасибо. 
В качестве Dataset'a лучше используйте вот эти компоненты, а не родные от UIB:
http://alexs75.narod.ru/fpc/fbdataset/index.htm
http://alexs75.narod.ru/fpc/fbdataset/index.htm
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
wellx
пользуешься ? хочется услышать в чем отличая, положительные , отрицательные стороны . .
вот еще есть
http://pdo.sourceforge.net/index.shtml
пользуешься ? хочется услышать в чем отличая, положительные , отрицательные стороны . .
вот еще есть
http://pdo.sourceforge.net/index.shtml
Attid писал(а):wellx
пользуешься ? хочется услышать в чем отличая, положительные , отрицательные стороны . .
вот еще есть
http://pdo.sourceforge.net/index.shtml
Нет, все руки не доходят попробовать...
прошелся по вариантам: штатный IBConnection+SQLQuery, потом IBDataBase+IBQuery, UIB, FBLib (ууфф...). везде успешно подключался к firebird 2.0, передавал и получал параметры из процедуры.
оч хорошо, но дальше бы надо поработать с датасетами в гриде... а датасеты необновляемые все, а то и вовсе однонаправленные. я согласен помучиться, если это плата за эффективность (траффик, память и т.п.), но все же имитировать непосредственный апдейт с минимальным щелканием кнопок хотелось бы. или было бы еще что-то вроде DatasetProvider + ClientDataset... вот PDO вроде все позволяет и выглядит солидно проработанным, но еще не пробовал.
короче, не поделится ли кто свежим опытом в этом деле, какие компоненты выбрать, да еще и примерчики где хапнуть?
кстати, датасет от alexs75 для UIB (m_guest здесь подсказал) у меня не компилится:
...fbcustomdataset.pas(3301,25) Error: identifier idents no member "GetFieldData"
оч хорошо, но дальше бы надо поработать с датасетами в гриде... а датасеты необновляемые все, а то и вовсе однонаправленные. я согласен помучиться, если это плата за эффективность (траффик, память и т.п.), но все же имитировать непосредственный апдейт с минимальным щелканием кнопок хотелось бы. или было бы еще что-то вроде DatasetProvider + ClientDataset... вот PDO вроде все позволяет и выглядит солидно проработанным, но еще не пробовал.
короче, не поделится ли кто свежим опытом в этом деле, какие компоненты выбрать, да еще и примерчики где хапнуть?
кстати, датасет от alexs75 для UIB (m_guest здесь подсказал) у меня не компилится:
...fbcustomdataset.pas(3301,25) Error: identifier idents no member "GetFieldData"
ab60
Я пользуюсь компонентами ZEOS (http://sourceforge.net/projects/zeoslib). Есть некоторые недоработки, но работает именно так как Вы хотите, т.е. можно править данные прямо в сетке (если Вы, конечно, написали редактируемый запрос. Если же нет, то там есть, как и в Дельфи, спецкомпоненты для обновления нередактируемых запросов, т.е. можно такой тоже в сетке править).
Я пользуюсь компонентами ZEOS (http://sourceforge.net/projects/zeoslib). Есть некоторые недоработки, но работает именно так как Вы хотите, т.е. можно править данные прямо в сетке (если Вы, конечно, написали редактируемый запрос. Если же нет, то там есть, как и в Дельфи, спецкомпоненты для обновления нередактируемых запросов, т.е. можно такой тоже в сетке править).
zeos вызвал сомнение: управление транзакциями только в zconnection? а я думаю использовать одно глобальное подключение для всех компонентов доступа к данным в приложении. с zeos тогда получится негибкая какая-то схема. вроде то самое, за что критиковали BDE. может я не прав, не пойму, пока не поработаю с firebird побольше.
пробую UIB + FBDataset, пока все получается.
пробую UIB + FBDataset, пока все получается.
Vadim писал(а):ab60
Хмм... Возможно BDE и критиковали, но, насколько мне помнится, транзакций там вообще нет.
Вы не правы, транзакции там есть всегда, просто их не слышно и не видно...
Когда любой DataSet переходил в состояние Active:=true, то ему в соответствие ставился объект Session по своим функциям весьма аналогичный Transaction(в свою очередь, он открывал активную транзакцию на сервере FireBird). Если пользователю не нужно было вмешиваться в этот процесс, то свойство Session рекомендовалось устанавливать в сосотояние Default. Поэтому Transaction формально вроде как и нет, но на сервере он всё равно появляется...
Перешла на линукс -установила Ubuntu, выбрала Lazarus - v0.9.24-beta, аналог Delphi . Rxfpc -инсталлировался отлично, а вот компоненты для работы с бд, предложенные в данной теме - не устанавливаются - Лазарус просто перестает загружаться.
Помогите, пожалуйста.
Помогите, пожалуйста.
Последний раз редактировалось oksana 17.03.2008 21:00:06, всего редактировалось 1 раз.
