-
Int23 (13.05.09 12:31) [0]Есть такая ХП
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). Как получить список всех полей? -
Palladin © (13.05.09 12:52) [1]TDataSet.GetFieldNames получает список полей в вернувшемся наборе данных, на то что происходит в процедуре ему нет никакого дела.
-
> Суть в том, что в зависимости от параметров возвращается
> разный состав полей. Я вызываю TDataSet.GetFieldNames, но
> мне возвращается первый список полей (F1,F2). Как получить
> список всех полей?
Заведи в ХП входной параметр @DateIn datetime ='2009-01-01'
Выполни её 2 раза - получи разный набор полей. -
Int23 (13.05.09 13:04) [3]у меня есть своя ИДЕ. Я делаю подстановщик кода. Есть ХП которая может возвращать разный набор полей. Я хочу униф. механизм
-
Palladin © (13.05.09 13:21) [4]мало ли что ты хочешь... TDataSet - представляет собой конкретный набор данных от сервера, а не все его разные метафизические ревоплощения и вариации в каких то странных, недоступных понимаю TDataSet, условиях.
-
> Я хочу униф. механизм
Чудес не бывает. -
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;