![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить список полей в ХП в МС СКЛ 2005 [D7, MSSQL]
Int23 © (2009-05-13 12:31:00)Есть такая ХП
CREATE PROCEDURE dbo.Test23
as
if getdate()<'2009-01-01'
select 123 as F1, 23 as F2
else
select 13 as F3, 123 as F4
Суть в том, что в зависимости от параметров возвращается разный состав полей. Я вызываю TDataSet.GetFieldNames, но мне возвращается первый список полей (F1,F2). Как получить список всех полей?
Ega23 (2009-05-13 14:26:00) [1]
function Foo(const Value : Integer) : TObject;
begin
case Value of
0 : Result := TStringList.Create;
1 : Result := TADOConnection.Create(nil);
2 : Result := TBitmap.Create;
else
Result := nil;
end;
end;
Ega23 (2009-05-13 14:24:00) [2]
> Я хочу униф. механизм
Чудес не бывает.
Palladin (2009-05-13 13:21:00) [3]мало ли что ты хочешь... TDataSet - представляет собой конкретный набор данных от сервера, а не все его разные метафизические ревоплощения и вариации в каких то странных, недоступных понимаю TDataSet, условиях.
Int23 (2009-05-13 13:04:00) [4]у меня есть своя ИДЕ. Я делаю подстановщик кода. Есть ХП которая может возвращать разный набор полей. Я хочу униф. механизм
Ega23 (2009-05-13 12:58:00) [5]
> Суть в том, что в зависимости от параметров возвращается
> разный состав полей. Я вызываю TDataSet.GetFieldNames, но
> мне возвращается первый список полей (F1,F2). Как получить
> список всех полей?
Заведи в ХП входной параметр @DateIn datetime ='2009-01-01'
Выполни её 2 раза - получи разный набор полей.
Palladin (2009-05-13 12:52:00) [6]TDataSet.GetFieldNames получает список полей в вернувшемся наборе данных, на то что происходит в процедуре ему нет никакого дела.