База данных в делфи 7 примеры

Каждый пример представляет собой полноценный проект, который можно загружать в среду разработки и компилировать.
Некоторые приложения используют в качестве источника данных демонстрационную базу данных Delphi, которая при стандартной инсталляции находится в папке \Program /files\Common /files\Barland Shared\Data. При работе с такими приложениями вам необходимо самостоятельно настроить соответствующие свойства компонентов доступа к данным. Они преднамеренно обнулены, т. к. на вашем компьютере база данных Delphi может располагаться в другом месте.
В приложениях, использующих генератор отчетов Rave Reports, в компоненте TRvProject необходимо указать полный путь к файлу проекта RAV, поскольку, хотя этот файл и располагается в папке
приложения, отсутствие полного пути может приводить к ошибке.

Пример использования компонентов TTreeView и TTreeList, для просмотра информации из системного реестра Windows
Простой пример разработки собственного компонента
Ресурсы манифеста Windows XP
Пример использования в приложении списка объектов на основе класса TList
Пример использования в приложении списка строк на основе класса TStringList
Пример приложения, использующего компоненты Delphi для отображения графики
Приложение для просмотра растровых приложений JPG, JPEG, BMP
Пример простейшего приложения баз данных
Пример использования параметров компонентов запросов SQL и взаимодействия таких компонентов на основе передачи значений параметров
Приложение баз данных, использующее отношение «один-ко-многим» между таблицами базы данных
Приложение баз данных, демонстрирующее варианты поиска записей в таблице базы данных
Пример использования закладок (класс TBookmark) в наборах данных Delphi
Приложение баз данных, использующее компоненты синхронного просмотра
Приложение баз данных, напрямую использующее API BDE для полного удаления записей из таблиц базы данных
Приложение баз данных, напрямую использующее API BDE для представления данных
Приложение баз данных, демонстрирующее возможности технологии dbExpress
Приложение баз данных, демонстрирующее возможности технологии ADO
Пример простого распределенного приложения баз данных
Пример использования компонента проекта отчета Rave Reports и разработки простых отчетов в визуальной среде Rave Reports
Пример использования настраиваемого соединения на основе компонента TRvCustomConnection
Пример отчетов Rave Reports для приложений баз данных
Пример реализации Drag-and-Drop
Пример реализации Drag-and-Dock
Пример реализации управления мышью
Пример создания динамической библиотеки
Приложение, использующее отдельный поток к памяти для расчета числа
Приложение, использующее компоненты многомерного представления данных
Пример приложения, использующего Shell API

Создание базы данных. Создание каталога. Создание псевдонима.

База данных – это набор файлов (таблиц), в которых находится информация.

Как правило, база данных состоит из нескольких таблиц, которые размещают в одном каталоге. Каталог для новой базы данных создается обычным образом, например, при помощи Проводника. Таблицу можно создать, воспользовавшись входящей в состав Delphi утилитой Borland Database Desktop или организовав SQL-запрос к серверу базы данных.

Так как для доступа к файлам (таблицам) базы данных библиотека BDE использует не имя каталога, в котором находятся файлы, а его псевдоним, то перед тем, как приступить к созданию таблиц новой базы данных, необходимо создать псевдоним для этой базы данных.

Таким образом, процесс создания базы данных может быть представлен как последовательность следующих шагов:

  1. Создание каталога.
  2. Создание псевдонима.
  3. Создание таблиц.

Создание каталога

Каталог (папка) для файлов базы данных создается обычным образом, например, при помощи Проводника. Обычно файлы локальной базы данных помещают в отдельном подкаталоге каталога программы работы с базой данных.

Примечание
Для дальнейшей работы с рассматриваемой в качестве примера базой данных «Архитектурные памятники Санкт-Петербурга» следует в каталоге \ Проекты создать каталог Петербург и в нем – подкаталог Data.

Создание псевдонима

Псевдоним базы данных создается при помощи входящей в Delphi утилиты BDE Administrator, которая запускается из Windows выбором из меню Программы › Borland Delphi 7 команды BDE Administrator.

Вид диалогового окна BDE Administrator после запуска приведен на рис. 17.2.


Рис. 17.2. Окно BDE Administrator

В левой части окна, на вкладке Databases, перечислены псевдонимы, зарегистрированные на данном компьютере. Для того чтобы создать новый псевдоним, необходимо из меню Object выбрать команду New. Затем в открывшемся диалоговом окне New Database Alias (Новый псевдоним базы данных) из списка Database Driver Name, в котором перечислены зарегистрированные в системе драйверы доступа к базам данных, нужно выбрать драйвер для создаваемой базы данных (рис. 17.3), т. е. фактически выбрать тип создаваемой базы данных.

Delphi и базы данных

Для работы с базами в Delphi есть несколько наборов компонент. Каждый набор очень хорошо подходит для решения определенного круга задач. Почему такое разнообразие компонентов? Все они используют разные технологии доступа к данным и отличаются по возможностям. В отличие от Microsoft, которая встроила в свои программные продукты только технологию доступа к данным ADO собственной разработки, фирма Borland дала нам разнообразие средств работающих через разные технологии и не ограничивает нас только своими разработками.

Кроме этого есть группы, которые могут используются в любом случае, :

На закладке Data Access расположены основные компоненты доступа к данным. Эти компоненты общие для всех и могут используются совместно с другими группами компонентов.

Рисунок 1 Закладка Data Access палитры компонентов

На закладке Data Controls расположенные компоненты для отображения и редактирования данных в таблицах.

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

Рисунок 2 Закладка Data Controls палитры компонентов

Закладка BDE содержит компоненты, которые позволяют получить доступ к базам данным по технологии, разработанной фирмой Borland под названием Borland Database Engine. Эта технология сильно устарела и поставляется только для совместимости со старыми версиями. Несмотря на это, она хорошо работает со старыми типами баз данных, такими как Paradox и dBase.

Рисунок 3 Закладка BDE палитры компонентов

DBExpress — это новая технология доступа к данным фирмы Borland. Она отличается большей гибкостью и хорошо подходит для программирования клиент серверных дополнений, которые используют базы данных. Компоненты из одноименной закладки я советую использовать с базами данных построенных по серверной технологии, например, Oracle, DB2 или MySQL.

Рисунок 4 Закладка dbExpress палитры компонентов

ADO (Active Data Objects) — технология доступа к данным, разработанная корпорацией Microsoft. Очень хорошая библиотека, ее рекомендовано использовать только с базами данных Microsoft, а именно MS Access или MS SQL Server. Ее так же можно использовать, если специфический сервер баз данных, который может работать только через ODBC.

Рисунок 5 Закладка ADO палитры компонентов

Работа с базами данных Access идет через специальную надстройку DAO, которая может устанавливаться на компьютер вместе с программой Office или идти как отдельная установка. Так что если программа не будет работать на компьютере клиента, то надо походатайствовать об установке DAO на этот компьютер.

Технология ADO

ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX) — это часть архитектуры универсального доступа к данным от Microsoft. ADO является частью более крупномасштабной технологии под названием MDAC (Microsoft Data Access Components). Термин MDAC является общим обозначением для всех разработанных компанией Microsoft технологий, связанных с базами данных. К этому набору относятся ADO, OLE DB, ODBC и др.

Технология ADO базируется на возможностях СОМ, а именно интерфейсов OLE DB. OLE DB является интерфейсом системного уровня, который обеспечивает доступ к разным источникам данных, изолируя дополнение от вида источника. ADO является высокоуровневым программным интерфейсом для доступа к OLE Db -інтерфейсів. ADO содержит набор объектов, которые используются для соединения с источником данных, для чтения, добавления, удаления и модификаций данных.

Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым с помощью провайдера данных взаимодействует дополнение. Провайдеры ADO обеспечивают соединение дополнению, которое использует данные через ADO, с источником данных (сервером SQL, локальной базой данных, файловой системой и т. д.). Для каждого типа хранилища данных должен существовать провайдер ADO. Провайдер «знает» о местоположении хранилища данных и его содержании, умеет обращаться к данным с запросами и интерпретировать служебную информацию, которая возвращается, и результаты запросов с целью их передачи дополнению.

Технология ADO завоевала популярность у разработчиков, благодаря универсальности — базовый набор интерфейсов OLE DB есть в каждой современной операционной системе Microsoft. Поэтому для обеспечения доступа приложению к данным достаточно лишь правильно указать провайдер соединения ADO и потом переносить программу на любой компьютер, где есть необходимая база данных и установлена ADO.

Поскольку технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять дополнения без вспомогательных программ и библиотек.

Дата добавления: 2016-02-27; просмотров: 1475;

Работа с базами данных в Delphi

Общая характеристика технологии ADO

В Delphi имеется ряд компонентов, которые предназначены только для работы с MS Access, эти компоненты находятся в ADO. Чтобы обрабатывать некоторую структуру данных для неё должна быть написана программа, поставщик этих данных в соответствии с системными требованиями, такая программа называется OLE DB Provider. Такие поставщики сегодня реализованы для разных структур данных и разных СУБД. С помощью технологии OLE DB можно однотипным образом обрабатывать сложную и специфическую информацию. Однако работа с OLE DB достаточно сложна, поэтому фирма Microsoft разработала новую технологию ADO, представляющая собой набор простых компонентов. Если планируется создать новое приложение, ориентированную на работу с данными и независящая не от конкретной СУБД и не от способа хранения информации, то лучше использовать технологию ADO.

Технология Microsoft ActiveX Data Objects (ADO) обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.

Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов (Рис. 1). Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.

За серверы БД беспокоиться не стоит, обработка запросов SQL — это их основная обязанностью. OLE DB представляет собой набор специализированных объектов СОМ, стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.

Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов. Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.

Провайдеры ADO обеспечивают соединение приложения, использующего данные через ADO, с источником данных (сервером SQL, локальной СУБД и файловой системой. Для каждого типа хранилища данных должен существовать провайдер ADO.

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

Механизм доступа к данным через ADO и многочисленные объекты, и интерфейсы реализованы в VCL Delphi в виде набора компонентов, расположенных на странице ADO. Все необходимые интерфейсы, обеспечивающие работу компонентов, объявлены и описаны в файлах OleDB.pas и ADODB.pas.

Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO.

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.

Компоненты ADO.

На закладке ADO расположены компоненты:

а) Компоненты соединения:

— ADOConnection;

— ADOCommand;

б) Стандартные компоненты:

— ADODataSet — универсальный набор данных;

— ADOTable — таблица БД;

— ADOQuery — запрос SQL;

— ADOStoredProc — хранимая процедура.

На странице ADO Палитры компонентов Delphi, кроме компонентов соединения есть стандартные компоненты, обозначающие набор данных и адаптированные для работы с хранилищем данных ADO.

Компонент ADOConnection вобрал возможности перечислителя, источника данных и сессии с возможностями обслуживания транзакций. Текстовые команды ADO реализованы в компоненте ADOCommand. Наборы рядов можно получить при помощи компонентов ADOTable, ADOQuery, AOostoredProc.

Каждый из них реализует способ доступа к конкретному типу представления данных в хранилище. Применительно к компонентам Delphi, совокупность возвращаемых из хранилища данных строк будем называть набором записей. Набор свойств и методов компонентов ADO обеспечивает реализацию всех необходимых приложению БД функций. Способы использования компонентов ADO немногим отличаются от стандартных компонентов VCL доступа к данным. Однако при необходимости разработчик может использовать все возможности интерфейсов ADO, обращаясь к ним через соответствующие объекты ADO. Ссылки на объекты имеются в компонентах.

Настройка соединения база данных с ADO.

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

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

В результате будет активировано диалоговое окно, показанное на рис. 2.

В этом окне можно настроить соединение, используя поле Use Connection String, или загрузить параметры соединения из файла в разделе Use Data Link File. Параметры соединения хранятся в файлах UDL, представляющих собой обычные текстовые файлы, содержащие параметры соединения.

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

На вкладке Provider можно выбрать подходящий провайдер данных OLE DB для конкретного источника данных. В списке провайдеров также присутствуют провайдеры, предназначенные для доступа к конкретным службам операционной системы. На вкладке Connection необходимо указать путь к базе данных или сервер. Вкладка Advanced предназначена для указания режима доступа, аналогично свойству Mode. Вкладка АН предназначена для более «тонкой» настройки специфичных свойств провайдера. Для дальнейшей работы нужно выбрать провайдер Microsoft Jet 4.0 OLE DB Provider. Затем нужно перейти на вкладку Connection.

В появившемся окне необходимо указать путь к базе данных. В поле Select or enter a database name нужно указать путь к демонстрационной базе dbdemos.mdb.

После указания пути к базе данных и задания остальных необходимых параметров нужно проверить созданное соединение при помощи кнопки Test Connection. Если параметры соединения указаны верно, появится сообщение Test connection succeeded. После закрытия этого окна в строке соединения будет отображена информация, с помощью которой провайдер сможет получить доступ к данным.

Компонент TADOQuery TADOQuery позволяет выполнять SQL-запросы при работе с данными через ADO. Соединение с хранилищем данных осуществляется стандартным методом. Текст запроса содержится в свойстве SQL.

Параметры запроса содержатся в свойстве Parameters. В случае, если компонент возвращает набор данных, его следует открывать методом Open или присвоить свойству Active значение True. Если запрос не должен возвращать набор данных (операторы INSERT, UPDATE, DELETE и CREATE TABLE), то запрос следует выполнять вызовом метода ExecSQL. Метод возвращает число обработанных запросом записей.

Свойство RowsAffected содержит число записей, которые затронул последний выполнявшийся запрос.

Компонент TADOTable используется для доступа к хранилищам данных ADO и представления информации из них в табличном виде. Компонент предоставляет прямой доступ к каждой записи и ее полям, наследуя свойства и методы класса TCustomADODataSet. Компонент связывается с базой данных через свойства Connection или ConnectionString.

Имя таблицы указывается в свойстве TableName. Свойство TableDirect указывает, каким образом набор данных связывается с хранилищем данных. Так как не все провайдеры поддерживают прямое соединение с набором данных, то в некоторых случаях для связи с хранилищем данных приходится использовать SQL-операторы. При установке свойству значения True компонент использует фоновые SQL-запросы для доступа к данным.

Используя свойство Readonly, можно установить ограничение «только для чтения» на данную таблицу, запретив, таким образом, возможность изменять данные. В свойстве MasterSource указывается компонент TDataSource, используемый для создания отношения ссылочной целостности Master-Detail.

Метод GetlndexNames возвращает список индексов, доступных компоненту в качестве списка.

Компонент TDataSource — этот компонент связывается с набором данных. Эта связь осуществляется через свойство DataSet, которое содержит информацию о текущем состоянии набора данных. У этого компонента существует набор свойств и методов, которые облегчают работу с ним.

Свойство AutoEdit автоматически переводит набор данных в состояние редактирования, если имеет значение True, когда связанный элемент ввода получает фокус.

Метод Edit переводит связанный набор данных в состояние редактирования. Метод-обработчик OnDataChange вызывается при редактировании данных в связанном визуальном компоненте.

Метод-обработчик события OnUpdateData вызывается перед тем, как измененные данные будут сохранены в наборе данных. Обработчик вызывается перед выполнением метода Post.

Метод-обработчик события OnStateChange вызывается, когда изменяется состояние связанного набора данных.

Набор данных — массив записей, полученный приложением по собственному запросу, называется набором данных. Набор данных как объект ведет свое начало от класса TDataSet и наследует его свойства.

Дата добавления: 2015-11-23; просмотров: 1260 | Нарушение авторских прав

Рекомендуемый контект:


Похожая информация:


Поиск на сайте:


Добавить комментарий

Закрыть меню