воскресенье, 11 ноября 2007 г.

Данные: перебор while select

[id:55]

Очень часто нужно перебирать данные, возвращаемые запросом select, запись за записью. Этой цели служит конструкция while select. Она отбирает набор записей и позволяет выполнить нужные действия над каждой из них.
Вот пример: static void BLG55_WhileSelect() { Currency currency; setprefix("Валюты"); while select currency where currency.CurrencyCode like "c*" || currency.CurrencyCode == "rur" { info(strfmt('%1 - %2', currency.CurrencyCode, currency.Txt)); } }

Результат перебора записей о валютах Здесь мы читаем список валют в соответствии с условиями. Отобраный запросом набор записей о валютах кэшируется в буфере, связанном с табличной переменной "currency". Затем данные, запись за записью, выдаются в цикле, пока не будет исчерпан буфер. Текущая запись доступна через табличную переменную (здесь, это "currency"). Удобно.

Если не считать ключевое слово "while", то синтаксис этой конструкции идентичен синтаксису "select".

Итог:

выражение "while select" предназначено для обработки записей в цикле.

Комментариев нет: