Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.07.2012, 23:43
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию Доступ к БД без компонентов

Не думал, что когда-нибудь придется работать с БД на делфи, но вот пришлось.

Вопрос вот в чем.
О том, что доступ к БД можно получить через соответствующие компоненты (TDataset и прочее счастие) а можно ли как-то в обход них?
Например на C# можно использовать классы OleDBConnection, OleDBCommand, OleDBDataReader с помощью которых можно в одном методе создать подключение к базе, выполнить запрос и забрать результат. Причем результаты получить просто - OleDBDataReader["FieldName"] и все. Можно что-то подобное получить на делфи?

Компоненты не подходят из-за того, что они завязаны на форму, а создавать их динамически тоже не хочется - хочется иметь возможность написать полностью свой запрос.
Ответить с цитированием
  #2  
Старый 07.07.2012, 00:02
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Создание динамически не займет у тебя много времени
Ответить с цитированием
  #3  
Старый 07.07.2012, 00:24
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Не спорю, но мне надо еще выполнить запрос явно, вроде "SELECT * FROM MegaTable"
Ко всему прочему не хочу использовать DB* контролы, а хочу получить значение каждого ответа БД строкой

Последний раз редактировалось ChinYan, 07.07.2012 в 00:37.
Ответить с цитированием
  #4  
Старый 07.07.2012, 00:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А в чем проблема создать нужные компоненты динамически?
Сами компоненты формы не требуют.

Кроме того, например компоненты ADO являются просто враппераси над собственно ADO, которые суть COM-объекты, так что их можно просто все создать через интерфейсы.

Для работы с IB/FB можно напрямую обращаться к библиотеке gds32.dll (поищи в инете готовый хидер для нее).

Ну и к OLEDB, думаю, можно обратиться напрямую
Ответить с цитированием
  #5  
Старый 07.07.2012, 00:45
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Тогда могу предложить тебе написать функцию для реализации этого.
Предположим что-то вроде:

Код:
function sql_cmd  (DataBase,dbCfg,SQLText:string):Result;
var
    //объявление переменных
begin
   //динамическое создание необходимых компонентов
   //В зависимости от указанных параметров
   
   //Выполнение операции

   //Вывод результата 
end;  


Ответить с цитированием
  #6  
Старый 07.07.2012, 00:52
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Так, вроде разобрался
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:30.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter