![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавить поле в adoDataSet
Hooch © (2003-11-26 11:55:00)
День добрый, Господа !
Столкнулся с проблемой: есть adoDataSet который получает данные из хранимой процедуры, часть возвращяемых полей заведомо известна, (например "Count" и "Price") а часть полей (имя, тип, количество) зависит от некоторых входных параметров и, соответственно, становится опеределённой после открытия набора данных. Так вот проблема заключается в том, что в наборе данных всегда нужно иметь вычисляемое поле (Count*Price) добавить поля до открытия невозможно так как не известен набор полей который будет, после открытия а в открытый датасет тоже не получается добавить поле, окрывать дважды датасет (одн раз поля считать и заполнить второй раз данные получить) не хочется, как быть ???
Hooch (2003-11-26 12:41:00) [1]
или я не прав ?
Hooch (2003-11-26 12:20:00) [2]
>> stone ©
так вроди adoDataSet.FieldDefs колеекция должна соответсвовать физическим полям БД и вычисляемое поле не задать ди и толку, все равно что б коллекция вступила в силу CreateDataSet надо сказать а это уже потеря данных
stone (2003-11-26 12:08:00) [3]
adoDataSet.FieldDefs.AddFieldDef
и далее по теме +
Обработчик OnCalcFields
Hooch (2003-11-26 12:02:00) [4]
:-) все гениальное просто :-)) к моему сожалению это вариант отпадает ХП пользуем "как есть"
Shirson (2003-11-26 11:57:00) [5]
Сделать ХП в таком виде, чтобы ВСЕ поля были заведомо известны.
Т.е. ХП всегда выдаёт один и тот же набор полей. Просто, в зависимости от параметров, некоторые поля пустые.