[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]







kritik2011
Ответов: 0
04-01-12 11:23



   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные



Базы Данных / Разное /

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

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

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

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


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




Комментарии

xurgjdlt
30-07-2011   
CTvKOl , [url=http://vcsteilruxet.com/]vcsteilruxet[/url], [link=http://owmsgftqhjxh.com/]owmsgftqhjxh[/link], http://mzqvfqpeyqjf.com/

lzscci
29-07-2011   
kVuENk <a href="http://mhsbqoepopuk.com/">mhsbqoepopuk</a>

kcsuubcp
26-07-2011   
ppNuya <a href="http://wafynldyjjow.com/">wafynldyjjow</a>

Darold
26-07-2011   
All of these arcteils have saved me a lot of headaches.

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Базы Данных / Разное /

Разработка запросов
08-03-2010   

Подзапросом называют запрос SELECT, который включается в другой запрос в качестве параметра или выражения. Они обычно используются, чтобы генерировать значение или набор результатов, которые используются в условиях главного запроса... подробнее

Кол. просмотров: общее - 900 сегодня - 0

Параметрическое определение порядка сортировки данных
08-03-2010   

В различных сетевых форумах часто обсуждается вопрос: как получить отсортированные результаты выполнения запроса, передавая хранимой процедуре некоторый параметр? Я собрал несколько решений этой задачи, предложенных талантливыми программистами. Основная часть идей, изложенных в этой статье... подробнее

Кол. просмотров: общее - 912 сегодня - 0

Delete from mytable; Commit:.. или Восстановление данных в СУБД Interbase
08-03-2010   

Данная статья написана на основе статей: The Interbase On - Disk Structure by Ann Harrison ; Structure of a Data Page by Paul Beach, а так же включает в себя мой горький опыт в удалении важных данных, а потом в их успешном восстановлении. Я никоим образом не собираюсь нарушать права ни выше перечисленных авторов, ни компаний, чьи зарегистрированные торговые знаки перечисленные в данной статье... подробнее

Кол. просмотров: общее - 926 сегодня - 0

Часто задаваемые вопросы по базам данных
08-03-2010   

СУБД — Система Управления Базами Данных (dbms — database management system). Программа, либо комплекс программ, предназначенных для полнофункциональной работы с данными. Как правило, включает в себя инструменты для создания и изменения структуры хранения наборов данных... подробнее

Кол. просмотров: общее - 1127 сегодня - 0

Временные таблицы в sql server. Так ли необходимы временные таблицы?
07-03-2010   

Временные таблицы всегда прекрасно помогали разработчикам. Раньше, когда я использовал access, я обычно создавал временные таблицы, которые удалял после решения задачи. При использовании sql server решить задачу можно гораздо проще. Не так ли?... подробнее

Кол. просмотров: общее - 1533 сегодня - 0



  © WWW.COMPROG.RU ® Все о программировании - 2009 | Designed and Powered by Zaipov Renat | Разное