Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.047 c
2-1187035315
loeg
2007-08-14 00:01
2007.09.09
Delphi и Касперский


2-1187005933
Quart
2007-08-13 15:52
2007.09.09
индексация


15-1186642187
Проходящий
2007-08-09 10:49
2007.09.09
Opensource на Delphi


2-1187163222
grust
2007-08-15 11:33
2007.09.09
Оперативка


2-1187073459
Megabyte
2007-08-14 10:37
2007.09.09
Работа через WinAPI с USB Web-камерой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский