Форум: "Базы";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
ВнизКакими компонентами пользоваться для доступа к БД? Найти похожие ветки
← →
Анна (2007-05-02 12:12) [0]Для доступа к данным 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?
← →
Анна (2007-05-02 12:59) [1]я не смогла найти в интернете ответы на свои вопросы...
Очень прошу ответить sniknik!
← →
stakan © (2007-05-02 13:04) [2]http://www.ibase.ru/components.htm#components
← →
Плохиш © (2007-05-02 13:05) [3]
> 1. Можно ли пользоваться ADO для FB 1.5.3 ?
Можно и не только для FB
> 2. Почему так криво работают dbExpress?
Они работают не криво, а по стандарту для dbExpress, который описан в документации.
← →
Asail (2007-05-02 13:06) [4]Я, конечно, не sniknik, но для IB лучше всего использовать встроенный в Delphi IBX (InterBase Express) или FIBPlus (но он платный). ИМХО
← →
Slider007 © (2007-05-02 13:08) [5]Для FireBird 1.5.3 юзаю конпоненты с вкладки InterBase. Для моих не особо наворочаных программ работают корректно. Скорее всего и в "наворочаных" нормально будут работать, но это уже надо спрашивать у людей профессионально их использующих (хотя профессионалы наверное сплошь на FIBPlus сидят ?).
← →
Sergey13 © (2007-05-02 13:08) [6]> [0] Анна (02.05.07 12:12)
> стала пользоваться компонентами dbExpress ( прочитала в
> книгах, что именно они подходят для интербейса!).
Ты спутала 1 букву. Не dbExpress а IBExpress, Inter Base eXpress, IBX короче. Идет в поставке вместе с Дефи. Закладка InterBase.
← →
Slider007 © (2007-05-02 13:12) [7]Sergey13 © (02.05.07 13:08) [6]
Нифига не спутала, названия компонентов посмотри.
← →
Slider007 © (2007-05-02 13:12) [8]Slider007 © (02.05.07 13:12) [7]
А, да понял, чего ты ввиду имел - спутала перед тем как начать использовать ...
← →
ЮЮ © (2007-05-02 13:15) [9]Пока писал, столько выплеснули. Ну не стирать же теперь :)
1) Можно, ты же убедилась. Если провайдер обеспечивает все, что нужно.
2) нельзя с современной технологией работать с помощью дедовских DBGrid-ов. :) Потребуется ещё одну технологию (TClientDataSet) прикрутить в связку. (Об этом даже в Help-е написано :)
3) Кроме закладок "dbExpress" и "ADO" есть ешё парочка: "InterBase" и "BDE". Для доступа к FB произросшего из InterBase, естественнее использовать первую. Говорят, есть ещё недорогая, но очень популярная библиотека FIB+
← →
Плохиш © (2007-05-02 13:20) [10]
> Об этом даже в Help-е написано
Кто ж в здравом уме их (хелпы) читает-то? Любой выпускник яслей знает, что хелпы для последних ламеров пишутся...
← →
sniknik © (2007-05-02 13:26) [11]> Очень прошу ответить sniknik!
и зря... FB/IB не моя "епархия"... я там попросту ничего не знаю, и в ветки с ними не часто заглядываю.
единственно что могу сказать, по
> 1. Можно ли пользоваться ADO для FB 1.5.3 ?
ADO можно использовать для всего у чего есть OLEDB, ODBC провайдер данных, у FB/IB он есть, и не один. так что можно, но вот целесообразность его использования... тут зависит от задачи, мне например нужно было вязать его с MSSQL (основная база). тут без вопросов. а вот что нужно тебе х.з.
← →
Анна (2007-05-02 14:11) [12]Вот, пришла с обеда, а мне столько интересной информации написали. Спасибо вам большое!
> sniknik © (02.05.07 13:26) [11]
Вас просила ответить, потому как на этом форуме Ваши ответы очень ценят.
А задача у меня, отображение информации из таблиц FB: в табличном виде, на графиках и потом в Excel для отчета. Буду использовать ADO/
← →
atruhin © (2007-05-02 14:23) [13]> Буду использовать ADO/
Ну заче тебе ADO? На каждый компьютер придется отдельно устанавливать провайдера.
ADO оправданно только если нужно в этой программе коннетится и к другим серверам.
Используй IBExpress удобные почти безглючные, идут в комплекте, но лучше скачать
последнюю версию и переустановить.
Давно с ними не работал, но даже те глюки которые были (не исправленные много лет)
на 99% тебя в ближайший год не побеспокоят.
← →
Анна (2007-05-02 14:26) [14]
> atruhin © (02.05.07 14:23) [13]
Спасибо. А где скачать IBExpress?
← →
Sergey13 © (2007-05-02 14:31) [15]> [14] Анна (02.05.07 14:26)
Ты ответы читаешь?
← →
Анна (2007-05-02 14:46) [16]
> Sergey13 © (02.05.07 13:08) [6]
> Ты спутала 1 букву. Не dbExpress а IBExpress, Inter Base
> eXpress, IBX короче. Идет в поставке вместе с Дефи. Закладка
> InterBase.
Ответы внимательно читаю. Но у меня в D7 ( версия не лицензионная) только одна закладка InterBase и в ней компонентов IBExpress, IBX ... нет!
В этой закладке только IBTable, IBDataBase, IBQuery ....
Еще есть закладка InterBase Admin (там тоже их нет).
← →
Виталий Панасенко(дом) (2007-05-02 15:05) [17]
> Анна (02.05.07 14:46) [16]
> только одна закладка InterBase и в ней компонентов IBExpress,
> IBX ... нет!
это они и есть родимые !!.. Но я лично купил ФИБы и доволен..:-)
← →
sniknik © (2007-05-02 15:06) [18]> ADO оправданно только если нужно в этой программе коннетится и к другим серверам.
не только, еще например удобно и просто делать заливку данных в Excel с ADO-шного рекордсета.
> потом в Excel для отчета
не знаю достаточно ли этого для выбора, по сравнению с остальными факторами.
← →
Rule © (2007-05-02 15:37) [19]не ну насоветовали тут девушке ...
> 2) нельзя с современной технологией работать с помощью дедовских
> DBGrid-ов. :) Потребуется ещё одну технологию (TClientDataSet)
> прикрутить в связку. (Об этом даже в Help-е написано :)
вот причем здесь гриды к трехзвенкам мне так интересно очень стало, пункт вообще полный бред ...
с каких пор TClientDataSet стало технологией ???? скоро TLabel в технологии запишем ???
значит уважаемая девушка, берете компонентики с загладки InterBae, предварительно поставив последний апдейт скачаный с http://ibase.ru/ibx/ibx708del.zip
и работаем, но перед этим внимательно знакомимся со всеми компонентами, а главное твердо узнаем для себя зачем они нужны вообще и главное чем отличаются. Ответив на эти вопросы вы решите для себя все проблеммы ...
← →
Rule © (2007-05-02 15:39) [20]а вообще с последними версиями ИБХ можно познакопиться тут http://cc.codegear.com/Author.aspx?ID=102
← →
Анна (2007-05-02 16:37) [21]
> Rule © (02.05.07 15:37) [19]
Спасибо. Скачала и заменила.
← →
Megabyte © (2007-05-03 10:21) [22]Если именно Firebird, то лучше FIB+ однозначно: куча удобных фич для БД
← →
Rule © (2007-05-03 11:08) [23]
> Если именно Firebird, то лучше FIB+ однозначно: куча удобных
> фич для БД
для простого функционала неоправдано, потомучо он денег стоит ...
← →
ЮЮ © (2007-05-03 11:22) [24]> вот причем здесь гриды к трехзвенкам мне так интересно очень
> стало, пункт вообще полный бред ...
К тому что 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
Полнейший бред эта закладка InterBae :)
← →
Rule © (2007-05-04 16:51) [25]
> ЮЮ © (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-07 03:33) [26]> при чем здесь 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 серверами.
Всё они такие разные и при этом не являются технологически разными методами доступа к базам данным? Ну-ну.
> а вот придираться к опечаткам - это уже признак отсутсвия аргументов "против".
Прямые оскорбления ("вообще полный бред" ), конечно, гораздо лучший метод ведения дискуссии :)
← →
buran (2007-05-15 10:40) [27]Да вот вы тута спорите, я воще недавно связался с БД и созданием приложений для них (опыт - 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"
Так что о чём вы тут спорите - х.з.? Мастера, блин :)
С уважение к Вам без обид :)
← →
buran (2007-05-15 10:46) [28]Да и в этой же книге пример пошаговой разработки простого приложения с использованием вышеперечисленных компонент(поэтому - он мощный программер), но однако я столкнулся стем что у меня глючит TIBQuery и на всяких крутых сайтах вроде www.ibase.ru написано как это исправить, но у меня всё равно она продолжает глючит - вот это проблема, потому что время на эт оу меня было не так то много(тестовое хзадание я делал), и похоже я его про....
← →
zdm © (2007-05-15 11:31) [29]Ни чего не читал... извининте. Анночка ..имхо , конечно. но лучше FIBPlus ни чего нет!!!
← →
ANB © (2007-05-15 16:44) [30]
> но лучше FIBPlus ни чего нет!
Нет ничего лучше одака. Особливо последних версий :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.043 c