Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  166

•  TDictionary Custom Sort  3 340

•  Fast Watermark Sources  3 093

•  3D Designer  4 849

•  Sik Screen Capture  3 348

•  Patch Maker  3 554

•  Айболит (remote control)  3 664

•  ListBox Drag & Drop  3 016

•  Доска для игры Реверси  81 721

•  Графические эффекты  3 946

•  Рисование по маске  3 250

•  Перетаскивание изображений  2 631

•  Canvas Drawing  2 754

•  Рисование Луны  2 584

•  Поворот изображения  2 191

•  Рисование стержней  2 169

•  Paint on Shape  1 569

•  Генератор кроссвордов  2 239

•  Головоломка Paletto  1 767

•  Теорема Монжа об окружностях  2 233

 

 

Архив исходников

   
  Базы данных
  Графика & Мультимедиа
  Сети & Интернет
  Система
  Разное
   

Ссылки и Баннеры ...

 

Delphi Sources

Delphi Sources

СТАТЬИ

 

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

 

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

Дата: 17.01.2009, Автор: Дмитрий Гацура.



Назад

   

 












































































 

© 2004-2024 "DS"

Соглашение пользователя / Реклама / Карта сайта             Created by BrokenByte Software