Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11653
Последний выпуск: 19.06.2015

Автоматизация работы с БД

Автор: Дмитрий Гацура
5 декабря 2008 года

Некоторое время назад мне пришлось реализовать работу с таблицами базы данных MSSQL сервера. После написания некоторого количества, фактически однотипного кода пришла мысль автоматизировать эти "рутинные" действия. Согласитесь, что написание одного и того же кода, отличающегося фактически только структурой таблиц БД, не может никого вдохновить. К тому же, если кол-во таблиц, с которыми приходиться работать переваливает за десяток, то занятие из разряда скучное переходит в разряд трудоемкое.

Поиск в интернете не привел ни к чему, поэтому реализацию пришлось взять на себя. В результате был создан набор модулей (в дальнейшем DigestSDK) на языке Delphi, позволяющих избавить программиста от написания "стандартного" кода по работе с БД и сосредоточиться на логике самого приложения.

DigestSDK позволяет отобразить содержимое таблиц MSSQL сервера (в дальнейшем планируется реализация для остальных популярных БД) и автоматически предоставляет следующие возможности:

Перечень стандартных функций

После создания справочник автоматически содержит следующие функции:

  • добавление;
  • удаление (в том числе групповое);
  • редактирование (в том числе групповое);
  • поиск (с возможностью частичного соответствия);
  • сортировка (при нажатии на заголовке DBGrid)
  • сортировка (с указанием множества полей и порядка сортировки);
  • выделение записей;
  • подсчет кол-ва записей для текущей выборки и выделенных записей;
  • быстрый переход на указанную запись;
  • задание максимального кол-ва отображаемых записей;
  • сохранение последнего состояния справочника в БД или в файле (настройки колонок, последний запрос, условия отбора и сортировки, положение формы);
  • настройка отображаемых колонок (видимость, ширина, положение);
  • автоматический перевод английских наименований в соответствии с пользовательским справочником.

Дополнительные возможности

Перечисленные выше возможности могут расширены программистом следующими возможностями:

  • изменение любого набора полей (с указанием собственных функций отображения, проверки и т.д.)
  • переопределение стандартных процедур добавления, удаления, редактирования;
  • добавление в справочник собственных процедур, не входящих в список, поддерживаемых справочником;
  • задание списка полей запрещенных для редактирования и удаления;
  • задание внешнего вида справочника (цвет выделенных записей, набор отображаемых кнопок, добавление собственных кнопок и панелей и т.д.);
  • задание начальных поисковых значений.

Представленный перечень функций и возможностей далеко не полный и может быть расширен программистом за счет переопределения и/или написания собственных дополнительных функций.

Чтобы не быть голословным приведу фрагмент кода по созданию справочника с выборкой данных из таблицы Production.Product (из демонстрационной БД AdventureWorks к MSSQL 2005).

В данном примере вызывается конструктор класса TSimpleDigest, которому передается: sql запрос, имя таблицы в БД (к которой будут применяться операции добавления, изменения и удаления), обычная строка подключения ADO, указание где создавать справочник (TWinControl или nil, если на новой форме) и идентификатор оператора - некоторое целое число - код, под которым справочник будет сохранять свое последнее состояние.

Пример использования с демонстрацией результатов.

Пример программы создания:

//создаем основой справочник
DigestProducts := TSimpleDigestR.Create(
'select top 10 * from Production.Product',  // запрос в произвольной форме
'Production.Product',                       // Имя таблицы для изменения
ConnectionString,	                        // Строка подключения
nil,  		                                // Где создавать справочник 
0         		                            // Идентификатор оператора 
);
//открываем справочник
DigestProducts.Open();
DigestProducts.ShowModal;

Результат выполнения:

Результат выполнения

Достаточно просто создать нужный и работа всех функций, а также перевод наименований таблиц и полей, будет производен автоматически.

В данной статье продемонстрированы лишь минимальные возможности. Расширенное описание, а также исходные тексты DigestSDK доступны на сайте www.digestsdk.nsknet.ru.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
97K
23 февраля 2016 года
Polina Nazarova
0 / / 23.02.2016
Мне нравитсяМне не нравится
23 февраля 2016, 10:44:30
Для нашей компании оказалось рациональным решением провести автоматизацию с помощью http://www.docsvision.com/
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог