Компонент TSQLDataSet является универсальным и позволяет выполнять запросы SQL (подобно
TSQLQuery), просматривать таблицы целиком (подобно
TSQLTable)или выполнять
хранимые процедуры (подобно TSQLStoredProc).
Для определения режима работы компонента используется свойство
ConimandType (см. выше).
Если ему присвоить значение ctTable, в списке свойства
commandText можно выбрать имя таблицы, если конечно компонент подключен к соединению. При выборе значения
ctQuery в свойстве CommandText необходимо определить текст запроса SQL. Для работы в режиме хранимой процедуры для свойства
commandType используется значение
ctstoredProc, а в списке свойства
CommandText можно выбрать нужную процедуру.
Для открытия набора данных используются традиционные способы: свойство
Active или метод Open. Если же запрос SQL или хранимая процедура не возвращают набор данных, для их выполнения используется метод
function ExecSQL(ExecDirect: Boolean = False): Integer; override;
Параметр ExecDirect определяет, необходимо ли произвести подготовку параметров перед выполнением команды. Если параметры запроса или процедуры существуют, параметр
ExecDirect должен иметь значение
False.
Дополнительно для табличного режима можно использовать свойство
SortFieldNames (см. выше), определяющее порядок сортировки записей таблицы.
В режиме запросов и хранимых процедур для задания параметров используются свойства Params И ParamCheck (см.
часть III).
Информация об используемых в результирующем наборе данных индексах сохраняется в свойстве
property IndexDefs:
TIndexDefs;
Знаете ли Вы, как разрешается парадокс Ольберса? (Фотометрический парадокс, парадокс Ольберса - это один из парадоксов космологии, заключающийся в том, что во Вселенной, равномерно заполненной звёздами, яркость неба (в том числе ночного) должна быть примерно равна яркости солнечного диска. Это должно иметь место потому, что по любому направлению неба луч зрения рано или поздно упрется в поверхность звезды. Иными словами парадос Ольберса заключается в том, что если Вселенная бесконечна, то черного неба мы не увидим, так как излучение дальних звезд будет суммироваться с излучением ближних, и небо должно иметь среднюю температуру фотосфер звезд. При поглощении света межзвездным веществом, оно будет разогреваться до температуры звездных фотосфер и излучать также ярко, как звезды. Однако в дело вступает явление "усталости света", открытое Эдвином Хабблом, который показал, что чем дальше от нас расположена галактика, тем больше становится красным свет ее излучения, то есть фотоны как бы "устают", отдают свою энергию межзвездной среде. На очень больших расстояниях галактики видны только в радиодиапазоне, так как их свет вовсе потерял энергию идя через бескрайние просторы Вселенной. Подробнее читайте в FAQ по эфирной физике.