(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

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

Источник: delphisources

Некоторое время назад мне пришлось реализовать работу с таблицами базы данных 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 на языке Delphi

Набор модулей DigestSDK на языке Delphi


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

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

Ссылки по теме

Файлы для загрузки


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 13.04.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Enterprise Connectors (1 Year term)
Delphi Professional Named User
Rational ClearCase Multisite Floating User License
IBM Rational Functional Tester Floating User License
Business Studio 4.2 Enterprise. Конкурентная лицензия + Business Studio Portal 4.2. Пользовательская именная лицензия.
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
3D и виртуальная реальность. Все о Macromedia Flash MX.
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100