Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача 3-мерного масива строк в ХП. D7. Firebird. IBX.


_RusLAN ©   (2006-08-05 13:40:00) 

Требуется совет бывалых как реализовать сабж.
 Я думаю передавать все одной строкой символов с разделителями, а в ХП распарсивать(отсюда вопрос: Как?).
 Начально вся структура идет в виде XML, может так и передавать в хранимую процедуру  XML-текст в ввиде строки, и сделать UDF, которая будет принимать XML-текст и выдавать значение элемента по индексу.
подскажите, как обычно решают такие задачи?


Сергей М.   (2006-08-07 15:24:00) [1]


> _RusLAN ©   (07.08.06 13:56) [5]


> Как тогда просто передать ХП масив строк?


Как BlobStream.

В теле ХП для получения элемента массива вызывается UDF, которой на вход подается полученный BlobID и индекс элемента и которая возвращает элемент.


Desdechado   (2006-08-07 14:04:00) [2]

Я не упоминал термин "временная". Я написал - буферная. Этопостоянная таблица, данные в которой не задерживаются. Ты можешь туда их вписать перед вызовом процедуры, а в процедуре после обработок потереть. Можно ID сессии туда втолкать при многопользовательской работе, чтоб отличать свои от чужих при необходимости хранить этот буфер в течение нескольких транзакций.


_RusLAN   (2006-08-07 13:56:00) [3]

> Что есть "3-мерный массив строк"?

Как тогда просто передать ХП масив строк?

Со временными таблицами не хочется заморачиваться, их же нет в чистом виде в FB 1.5.3


Desdechado   (2006-08-07 11:23:00) [4]

Что есть "3-мерный массив строк"?
Может, его просто сохранить временно в буферную таблицу, передав в ХП указание, как его оттуда извлечь для обработки? Ведь любую трехмерщину известной структуры можно поделить на срезы (провести планаризацию) и вписать в плоскую таблицу.


Dok   (2006-08-05 15:01:00) [5]

Зачем?


PEAKTOP   (2006-08-05 14:53:00) [6]

я бы начал от UDF плясать...
а в ХП необязательно передавать. Можно массив сохранить во временной таблице, а в ХП передать ID этого элемента, а значение в виде BLOB TEXT выбирать в самой ХП.


Dok   (2006-08-05 14:37:00) [7]

Зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо