![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какими компонентами пользоваться для доступа к БД? [D7, FB 1.5.3]
Анна © (2007-05-02 12:12:00)Для доступа к данным Data.gdb стала пользоваться компонентами dbExpress ( прочитала в книгах, что именно они подходят для интербейса!).
Сначала использовала :TSQLConnection и TSQLQuery. Но почему - то очень старанно отбирает рез-ты запроса SQLQuery : вместо одной записи отбирает: эту одну +все остальные в таблице, но они пустые (null)...Заменила SQLQuery на TSQLDataSet. все стало работать правильно! Но радость была недолгой...Для отображения - стала подключать в DataSourse - SQLDataSet и DBGrid-DataSourse. Ругается - "Operation not allowed on a unidirectional dataset".
Попробовала сделать тоже самое на ADO - компонентах. Выбрала на ADOConnection провайдер: LCPI OLE Provider InterBase [v2]. Все хорошо, данные отобрались и отобразились в DBGride/
Уважаемые программисты, помогите пожалуйста профессиональными советами:
1. Можно ли пользоваться ADO для FB 1.5.3 ?
2. Почему так криво работают dbExpress?
3. Какими компонентами грамотнее пользоваться для доступа к FB?
ANB (2007-05-15 16:44:00) [1]
> но лучше FIBPlus ни чего нет!
Нет ничего лучше одака. Особливо последних версий :)
zdm (2007-05-15 11:31:00) [2]Ни чего не читал... извининте. Анночка ..имхо , конечно. но лучше FIBPlus ни чего нет!!!
buran (2007-05-15 10:46:00) [3]Да и в этой же книге пример пошаговой разработки простого приложения с использованием вышеперечисленных компонент(поэтому - он мощный программер), но однако я столкнулся стем что у меня глючит TIBQuery и на всяких крутых сайтах вроде www.ibase.ru написано как это исправить, но у меня всё равно она продолжает глючит - вот это проблема, потому что время на эт оу меня было не так то много(тестовое хзадание я делал), и похоже я его про....
buran (2007-05-15 10:40:00) [4]Да вот вы тута спорите, я воще недавно связался с БД и созданием приложений для них (опыт - 5 дней и ночей). Так я взял и посмотрел в книгах что же использовать для доступа и управлением БД из Delphi ? Ответ мне дала книга реально мощного программера Фаронов ВВ Delphi 2005 Разработка приложений для баз данных и интернета"если уважаемая девушка не сможет найти могу залить на мыло (buran_83@inbox.ru) так вот в ней в первой же части написано о:
"Глава 1 Введение в Базы данных 20"
"Глава 2 Технология ADO.NET 57"
"Глава 3 Технология BDE.NET 117"
"Глава 4 Технология dbGo.NET 211"
"Глава 5 Технология dbExpress.NET 242"
"Глава 6 Технология IBX.NET 268"
Так что о чём вы тут спорите - х.з.? Мастера, блин :)
С уважение к Вам без обид :)
ЮЮ (2007-05-07 03:33:00) [5]> при чем здесь dbExpress когда разговор идет об Interbase
> Express (IBX)
Если прочесть вопрос автора внимательно:
Сначала использовала :TSQLConnection и TSQLQuery.
Ругается - "Operation not allowed on a unidirectional dataset
Почему так криво работают dbExpress?
то станет понятно, при чем.
И, возможно, станет понятен совет. Если хочется использовать dbExpress придется использовать ещё и клиентский набор данных, например TClientDataSet, который есть "часть технологии MIDAS".
Именно этоже сказано в
2) нельзя с современной технологией работать с помощью дедовских DBGrid-ов. :) Потребуется ещё одну технологию (TClientDataSet) прикрутить в связку. (Об этом даже в Help-е написано :)
Что вызвало твою непонятную реакцию:
вот причем здесь гриды к трехзвенкам мне так интересно очень стало, пункт вообще полный бред ...
с каких пор TClientDataSet стало технологией ???? скоро TLabel в технологии запишем ???
P.S. не я назвал TClientDataSet технологией. Я лишь в скобках указал класс клиентского НД, который есть в Delphi.
'ADO technology' - не моя выдумка. Спроси у яндекса.
> ADO - предоставляет доступ ActiveX объектам доступа к
> данным, DBE - вещь в себе про которую давно нужно было бы
> забыть, а Interbase использет напрямую API серверами.
Всё они такие разные и при этом не являются технологически разными методами доступа к базам данным? Ну-ну.
> а вот придираться к опечаткам - это уже признак отсутсвия аргументов "против".
Прямые оскорбления ( "вообще полный бред"), конечно, гораздо лучший метод ведения дискуссии :)
Rule (2007-05-04 16:51:00) [6]
> ЮЮ © (03.05.07 11:22) [24]
> К тому что dbExpress предоставляет unidirectional dataset,
> который нельзя показать в гриде обычной связкой
при чем здесь dbExpress когда разговор идет об Interbase Express (IBX)
но даже если взять TClientDataSet со связкой с dbExpress, то насколько я помню вроде ещё тащить midas.dll с приложением ...
вот скажите нафига козе баян, зачем для такой тривиальной задачки такой заворот, не проще ли IBX.
> компоненты на заклодках "ADO", InterBase" и "BDE", полагаю,
> реализуют другие технологией доступа к Базам Данным.
они не реализуют и не являются технологиями, они предоставляют доступ к другим объектам, реализующим эти технологии. ADO - предоставляет доступ ActiveX объектам доступа к данным, DBE - вещь в себе про которую давно нужно было бы забыть, а Interbase использет напрямую API серверами. Так что из списка лишь BDE компоненты реализуют одноименную технологию, хотя даже не реализуют, а предоставляют к ней доступ.
> мпонент TClientDataSet не относится ни к одной из них, что
> предполагает иную технологию доступа к Базам Данным.
офигеть, если не относится значит чтото новое ?, во вторых TClientDataSet - это часть технологии MIDAS(трехзвенной архитектуры), и никакой другой отдельной технологии нет и не будет.
> Полнейший бред эта закладка InterBae :)
а вот придираться к опечаткам - это уже признак отсутсвия аргументов "против".
с наилучшими пожеланиями ...
ЮЮ (2007-05-03 11:22:00) [7]> вот причем здесь гриды к трехзвенкам мне так интересно очень
> стало, пункт вообще полный бред ...
К тому что dbExpress предоставляет unidirectional dataset, который нельзя показать в гриде обычной связкой
TDBGrid > TDateSource > TSQLDataSet
Чтобы это заработало, нужен посредник, например TClientDataSet.
There are specialized client datasets that use the BDE or dbExpress to connect to a database server. These specialized client datasets are, in fact, composite components that include another dataset internally to access the data and an internal provider component to package the data from the source dataset and to apply updates back to the database server.
> каких пор TClientDataSet стало технологией ???? скоро TLabel в технологии запишем ???
Ровно с тех и в той мере, когда прочие назвали dbExpress технологией доступа к Базам Данным. компоненты на заклодках "ADO", InterBase" и "BDE", полагаю, реализуют другие технологией доступа к Базам Данным. Компонент TClientDataSet не относится ни к одной из них, что предполагает иную технологию доступа к Базам Данным.
> значит уважаемая девушка, берете компонентики с загладки
> InterBae
Полнейший бред эта закладка Inter Bae:)
Rule (2007-05-03 11:08:00) [8]
> Если именно Firebird, то лучше FIB+ однозначно: куча удобных
> фич для БД
для простого функционала неоправдано, потомучо он денег стоит ...
Megabyte (2007-05-03 10:21:00) [9]Если именно Firebird, то лучше FIB+ однозначно: куча удобных фич для БД
Анна (2007-05-02 16:37:00) [10]
> Rule © (02.05.07 15:37) [19]
Спасибо. Скачала и заменила.
Rule (2007-05-02 15:39:00) [11]а вообще с последними версиями ИБХ можно познакопиться тут http://cc.codegear.com/Author.aspx?ID=102
Rule (2007-05-02 15:37:00) [12]не ну насоветовали тут девушке ...
> 2) нельзя с современной технологией работать с помощью дедовских
> DBGrid-ов. :) Потребуется ещё одну технологию (TClientDataSet)
> прикрутить в связку. (Об этом даже в Help-е написано :)
вот причем здесь гриды к трехзвенкам мне так интересно очень стало, пункт вообще полный бред ...
с каких пор TClientDataSet стало технологией ???? скоро TLabel в технологии запишем ???
значит уважаемая девушка, берете компонентики с загладки InterBae, предварительно поставив последний апдейт скачаный с http://ibase.ru/ibx/ibx708del.zip
и работаем, но перед этим внимательно знакомимся со всеми компонентами, а главное твердо узнаем для себя зачем они нужны вообще и главное чем отличаются. Ответив на эти вопросы вы решите для себя все проблеммы ...
sniknik (2007-05-02 15:06:00) [13]> ADO оправданно только если нужно в этой программе коннетится и к другим серверам.
не только, еще например удобно и просто делать заливку данных в Excel с ADO-шного рекордсета.
> потом в Excel для отчета
не знаю достаточно ли этого для выбора, по сравнению с остальными факторами.
Виталий Панасенко(дом) (2007-05-02 15:05:00) [14]
> Анна (02.05.07 14:46) [16]
> только одна закладка InterBase и в ней компонентов IBExpress,
> IBX ... нет!
это они и есть родимые !!.. Но я лично купил ФИБы и доволен..:-)
Анна (2007-05-02 14:46:00) [15]
> Sergey13 © (02.05.07 13:08) [6]
> Ты спутала 1 букву. Не dbExpress а IBExpress, Inter Base
> eXpress, IBX короче. Идет в поставке вместе с Дефи. Закладка
> InterBase.
Ответы внимательно читаю. Но у меня в D7 ( версия не лицензионная) только одна закладка InterBase и в ней компонентов IBExpress, IBX ... нет!
В этой закладке только IBTable, IBDataBase, IBQuery ....
Еще есть закладка InterBase Admin (там тоже их нет).
Sergey13 (2007-05-02 14:31:00) [16]> [14] Анна (02.05.07 14:26)
Ты ответы читаешь?
Анна (2007-05-02 14:26:00) [17]
> atruhin © (02.05.07 14:23) [13]
Спасибо. А где скачать IBExpress?
atruhin (2007-05-02 14:23:00) [18]> Буду использовать ADO/
Ну заче тебе ADO? На каждый компьютер придется отдельно устанавливать провайдера.
ADO оправданно только если нужно в этой программе коннетится и к другим серверам.
Используй IBExpress удобные почти безглючные, идут в комплекте, но лучше скачать
последнюю версию и переустановить.
Давно с ними не работал, но даже те глюки которые были (не исправленные много лет)
на 99% тебя в ближайший год не побеспокоят.
Анна (2007-05-02 14:11:00) [19]Вот, пришла с обеда, а мне столько интересной информации написали. Спасибо вам большое!
> sniknik © (02.05.07 13:26) [11]
Вас просила ответить, потому как на этом форуме Ваши ответы очень ценят.
А задача у меня, отображение информации из таблиц FB: в табличном виде, на графиках и потом в Excel для отчета. Буду использовать ADO/
sniknik (2007-05-02 13:26:00) [20]> Очень прошу ответить sniknik!
и зря... FB/IB не моя "епархия"... я там попросту ничего не знаю, и в ветки с ними не часто заглядываю.
единственно что могу сказать, по
> 1. Можно ли пользоваться ADO для FB 1.5.3 ?
ADO можно использовать для всего у чего есть OLEDB, ODBC провайдер данных, у FB/IB он есть, и не один. так что можно, но вот целесообразность его использования... тут зависит от задачи, мне например нужно было вязать его с MSSQL (основная база). тут без вопросов. а вот что нужно тебе х.з.