![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какой тип должен быть у источника данных? [D6]
Z-man7777 © (2003-01-10 13:51:00)Здравствуйте, Уважаемые Мастера!!!
У меня в данный момент появилась проблемка.
Решение:
Я сейчас разрабатываю функцию, которая будет искать <введенное значение> по всей БД, и которая бы возвращала бы соответствующие найденные значения и в какой таблице они были найдены.
Вопрос:
Какой тип должен быть у источника данных, который отправляется, как параметр, в функцию. Источником может быть любой компонет, который работает с БД (например, TDatabase, TADOConnection, TSQLConnection, TIBDatabase и др.)
Очень буду признателен всем кто поможет в решении данной проблеммы.
Заранне СПАСИБО!!!
С/У Z-man.
Карелин Артем (2003-01-10 14:36:00) [1]Delirium^.Tremens © (10.01.03 14:30)
Ну это вопрос к автору. Я сам не совсем догнал философию проблемы :-)
Видимопод источником данных подразумевается не источник данных в терминах дельфи, а компонент для подключения к базе.
Delirium^.Tremens (2003-01-10 14:30:00) [2]Карелин Артем © (10.01.03 14:20)
Спасибо, дорогой. А можно узнать все эти штучки (из проблемы) - это источники данных? Я так понял, вопрос стоял о любом источнике данных, который может работать со всем перечисленным.
Карелин Артем (2003-01-10 14:20:00) [3]Только одна проблема: TDatabase, TADOConnection, TSQLConnection, TIBDatabase и др.) не являются потомками TDataSet. Но мысля правильная. Хоть и на другом уровне работы с базами...
Delirium^.Tremens (2003-01-10 14:14:00) [4]А что мешает пойти по пути Borland:
procedure SomeDataSetMethod(DataSet: TDataSet);
Далее, для доступа к специфическим методам, выполнять приведение типов.
Карелин Артем (2003-01-10 14:09:00) [5]У этих классов нет методов для определения имен всех таблиц. Надо будет все-таки не любой компонент, а конечный набор типов подключений, с которыми может работать твоя функция. Есть така штука для определения принадлежности к какому-то классу:
ClassNameIs returns True if the string passed in the Name parameter matches the name of the class. Otherwise, it returns False.
После определения типа твоего компонента приводи его к нужному типу (MyObj as TSomeObj).метод TSomeObj и делай с ним что душе угодно.
Z-man7777 (2003-01-10 14:08:00) [6]Карелин Артем
а что за - Дальше идет сплошное RTTI?
внутри функции перебираются все имеющиеся таблицы, их я перебираю через компонент типа TTable, а хотелось бы тоже универсально для любого источника БД. Как это сделать?
Карелин Артем (2003-01-10 14:00:00) [7]Hierarchy:
TObject
TPersistent
TComponent
TCustomConnection
Дальше идет сплошное RTTI