Updated! SQL_Grid – класс Grid’а, позволяющий сочетать мощь сквозных запросов (pass-through) к SQL СУБД (или к другим ODBC-источникам) с удобством работы, превышающим удобства работы с удал. предст-ми

Updates: исправлена мелкая ошибка, иногда возникавшая при удалении - обновление не отправлялось на сервер. Аналогично удаленным представлениям, на стороне клиента работа с данными сводится к операциям с локальным буферизированным курсором, полученным с SQL-сервера. Все изменения в курсоре могут автоматически или принудительно переданы на SQL-сервер с помощью модифицирующих SQL-выражений, записанных в специальных свойствах. Все выражения независимы друг от друга и могут содержать любые корректные для конкретного SQL-сервера команды (выборки, вызовы процедур и т.п.) Может использоваться также как обычный GRID источников данных, требующих закрытия/открытия источника данных. Также содержит возможность подсветки строки. Подсветка производится любым объектом, производным от базового класса Shape и расположенным в том же родительском контейнере, что и объект, производный от класса Sql_Grid. Создан в VFP 5.0
Аналогично удаленным представлениям, на стороне клиента работа с данными сводится к операциям с локальным буферизированным курсором, полученным с SQL-сервера. Все изменения в курсоре могут автоматически или принудительно переданы на SQL-сервер с помощью модифицирующих SQL-выражений, записанных в специальных свойствах. Все выражения независимы друг от друга и могут содержать любые корректные для конкретного SQL-сервера команды (выборки, вызовы процедур и т.п.)

Может использоваться также как обычный GRID источников данных, требующих закрытия/открытия источника данных (в обычном GRID'е после переоткрытия данные будут не видны) - методы Save_DS (применяется перед закрытием) и Rest_DS (применяется после переоткрытия источника данных).

Также содержит возможность подсветки строки. Подсветка производится любым объектом, производным от базового класса Shape и расположенным в том же родительском контейнере, что и объект, производный от класса Sql_Grid. Для ссылка на такой объект используется свойство Hlt_Shape. Внутри библиотеки sql_grid.vcx содержится специальный класс Hlt_Shape, для использования в качестве строки подсветки и класс Hlt_Text - textbox для лучшего использования строки подстветки. Хотя их использование и не обязательно (подробнее в соответствующем разделе).

Кратко о возможностях:

  • 5 свойств для автоматических операций с данными, содержащих SQL-выражения:
    • SqlInitSelect - строка SQL-выражения для инициализации курсора,
    • SqlSelect - строка SQL-выражения для получения/обновления данных в курсоре (это же выражение будет использовано для инициализации курсора, если свойство SqlInitSelect не заполнено),
    • SqlInsert - строка SQL-выражения, передаваемого на сервер для новых строк из курсора,
    • SqlUpdate - строка SQL-выражения, передаваемого на сервер для измененных строк в курсоре,
    • SqlDelete - строка SQL-выражения, передаваемого на сервер для удаленных строк в курсоре
    • SqlRefresh - строка SQL-выражения для обновления строки курсора данными с SQL-сервера после передачи обновлений на сервер,
  • упрощенная запись параметров-полей курсора в SQL-выражениях;
  • автоматическое открытие буферизированного курсора;
  • автоматическое закрытие курсора при уничтожении объекта;
  • автоматическое или принудительное обновление данных на сервере (будет исполнено для всех измененных, добавленных или удаленных строк);
  • автоматическая посылка подтверждения (Commit) после посылки обновления данных;
  • метод, исполняющий любые SQL-выражения - аналог SqlExec с выдачей ошибок;
  • свойство-признак измененности данных в курсоре - SqlModified ;
  • предупреждение о наличии не сохраненных данных в курсоре при уничтожении объекта (проверку можно вызвать принудительно).

Полное описание - в файле sql_classes.rtf

Автор: Алексей Кирпичев

Автор публикации

не в сети 3 месяца

admin

Комментарии: 1Публикации: 123Регистрация: 10-12-2000
Вложенные файлы
#
Название
Тип файла
Размер
1 380sql_grid .zip 23,87 КБ
Материалы по теме
Оставить комментарий
//////////////// ///////////////
Авторизация
*
*
Генерация пароля