|
Навигация
|
Главная » Sql Маленькие хитрости: автоматическое восстановление вида указателя курсораИсточник: habrahabr gorynych_zmey Добрый день, коллеги! Те из вас, кто пишет клиентские приложения, наверняка сталкивались с необходимостью менять вид курсора, чтобы показать пользователю, что в данный момент приложение выполняет какую-то обработку данных (длительную или не очень) или выполняет запрос к базе. Хочу поделиться маленькой хитростью, как упростить себе жизнь. Изменять вид курсора все равно придется самостоятельно, а вот восстанавливать вид курсора можно автоматически. Для этого послужит вот такой код: Далее в нужном месте кода объявляем переменную типа ICursorSaver и инициализируем ее. Как это работает? TInterfacedObject ведет учет ссылок на интерфейс, когда счетчик опускается до нуля - вызывается деструктор. В начале области видимости мы создаем объект и инициализируем им интерфейсную переменную, при этом захватывается текущий вид курсора. В конце области видимости интерфейсная переменная разрушается, интерфейс освобождается, деструктор возвращает вид курсора к первоначальному состоянию. Данный способ можно использовать для сохранения состояния не только курсора, но и состояния любых других объектов - только в этом случае нужно делать deep copy объекта. UPD: Коллеги romik и koreec предлагают устанавливать вид курсора прямо в конструкторе. Тогда конструктор будет выглядеть так:
Сколько стоит update?. Формирование хранимых шаблонов в Oracle 9. Oracle_trace - лучшее встроенное средство диагностики. Первичный ключ - составной или суррогатный?. Мониторинг использования индексов в планах запросов в Oracle 10g. Главная » Sql |
© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено. |