• TwitterFacebookGoogle PlusLinkedInRSS FeedEmail

База Данных Исходники Delphi

18.09.2019 

Delphi >>> Базы данных. Общие вопросы. Моя собственная база данных Обмен данными с Excel Создаём SystemDSN при помощи. XBook () - исходник программы, предназначенной для ведения записной книги на базе Microsoft Access. Обращение к базе данных (таблица.

С начала 60-70хх началось бурное развитие компьютеризации всех крупных промышленных центров. Ближе к 80-ым, компьютеры стали появляться и в учебных заведениях, предмету «Информатика» стали уделять огромное внимание. Стали появляться языки программирования высокого уровня такие, как Delphi, C. Далее пойдет речь о языке программирования Delphi и о базах данных.

Samsung Драйверы Synaptics для тачпада ноутбуков Acer, HP, Lenovo, Dell, Samsung, Toshiba Выберите драйвер для своей операционной системы и ее разрядности. Рекомендуется устанавливать более позднюю версию драйвера (смотрите на дату выхода). Для перехода к скачиванию файла нажмите на ссылку.

В России Borland Delphi появляется в конце 1993 г. И сразу же завоевывает широкую популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования. Действительно, процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector).

С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки - и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по Microsoft API), средства коллективной работы над проектом, всего просто не перечислить. Вы можете создавать компоненты ActiveX без использования Microsoft IDL, расширять возможности web-сервера (скрипты на стороне сервера), практически ничего не зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяет создавать масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено. Как уже говорилось ранее, в Delphi используется язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в полной мере поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования.

База Данных Delphi Исходники

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

К числу удачных, на взгляд автора, относится также поддержка длинных строк в формате WideChar и AnsiChar. Последний тип (AnsiStrmg) позволяет использовать все прелести динамического размещения информации в памяти без всяких забот о ее выделении и сборке мусора Delphi делает это автоматически. Для поклонников свободного стиля программирования имеются открытые массивы, варианты и вариантные массивы, позволяющие размещать в памяти все, что душе угодно и смешивать типы данных. Вы можете создавать свои собственные компоненты, импортировать ОСХ-компоненты, создавать проектов и, создающих проектов. Мало того, Delphi предоставляет разработчику интерфейс для связи ваших приложений (или внешних программ) с интегрированной оболочкой Delphi (IDE). Таким образом, вы можете использовать Delphi для создания как самых простых приложений, на разработку которых требуется 2-3 часа, так и серьезных корпоративных проектов, предназначенных для работы десятков и сотен пользователей.

Причем для этого можно использовать самые последние веяния в мире компьютерных технологий с минимальными затратами времени и сил. Ну, и одна из самых последних новостей от Inprise обещает, что в ближайшем будущем вы сможете переносить приложения, разработанные в Delphi, на платформу Linux. Более подробную информацию о Delphi можно получить на сайтах www.inprise.com и www.inprise.ru. Существует большое количество сайтов, посвященных Delphi, например - delphi.vitpc.com, Torry's Delphi Pages - www.torry.ru. Последний содержит большое число ссылок на ресурсы, связанные с Delphi. Ну а если вы уже давно знакомы с этим продуктом, то на сайте www.brainbench.com можно бесплатно протестироваться в качестве программиста Delphi 3 и получить по почте сертификат.

Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). В принципе, сейчас не различают эти два названия (BDE и IDAPI) и считают их синонимами.

BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный “ODBC socket”, который позволяет встраивать их в BDE. Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и Delphi.

Аблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то время как другие состоят из одного файла, который содержит в себе все таблицы и индексы (InterBase).

Например, таблицы dBase и Paradox всегда сохраняются в отдельных файлах на диске. Каталог, содержащий dBase.DBF файлы или Paradox.DB файлы, рассматривается как база данных. Другими словами, любой каталог, содержащий файлы в формате Paradox или dBase, рассматривается Delphi как единая база данных.

Для переключения на другую базу данных нужно просто переключиться на другой каталог. Как уже было указано выше, InterBase сохраняет все таблицы в одном файле, имеющем расширение.GDB, поэтому этот файл и есть база данных InterBase. Удобно не просто указывать путь доступа к таблицам базы данных, а использовать для этого некий заменитель - псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационном файле в произвольном месте на диске и позволяет исключить из программы прямое указание пути доступа к базе данных.

Исходники

Такой подход дает возможность располагать данные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа, в алиасе указываются тип базы данных, языковый драйвер и много другой управляющей информации. Поэтому использование алиасов позволяет легко переходить от локальных баз данных к SQL-серверным базам (естественно, при выполнении требований разделения приложения на клиентскую и серверную части). Для создания алиаса запустите утилиту конфигурации BDE (программу bdeadmin.exe), находящуюся в каталоге, в котором располагаются динамические библиотеки BDE.

2: В диалоговом окне добавления нового алиаса можно указать тип базы данных Главное окно утилиты настройки BDE имеет вид, изображенный на рис.1. Для создания алиаса выберите в меню “Object” пункт “New”. В появившемся диалоговом окне выберите имя драйвера базы данных. Тип алиаса может быть стандартным (STANDARD) для работы с локальными базами в формате dBase или Paradox или соответствовать наименованию SQL-сервера (InterBase, Sybase, Informix, Oracle и т.д.).

После создания нового алиаса следует дать ему имя. Это можно сделать с помощью подпункта “Rename” меню “Object”. Однако просто создать алиас не достаточно. Вам нужно указать дополнительную информацию, содержание которой зависит от типа выбранной базы данных. Например, для баз данных Paradox и dBase (STANDARD) требуется указать лишь путь доступа к данным, имя драйвера и флаг ENABLE BCD, который определяет, транслирует ли BDE числа в двоично-десятичном формате (значения двоично-десятичного кода устраняют ошибки округления).

Исходники

Delphi и базы данных Ознакомившись с основными терминами и понятиями БД, можно перейти к рассмотрению средств, имеющихся в распоряжении разработчика, создающего приложения БД при помощи Delphi. Средства Delphi, предназначенные для работы с БД, можно разделить на 2 категории: инструментарий и компоненты.

Инструментарий включает в себя рад дополнительных программ, входящих в поставку Delphi и предназначенных для работы с БД. Что касается компонентов, то в VCL имеется множество специализированных компонент, предназначенных для работы с БД. Типы БД в Delphi Хотя Delphi и не является СУБД в классическом понимании этого термина, в частности, у нее нет собственного формата баз данных, она поддерживает как собственные сразу несколько форматов, в частности, dBase и Paradox. Таблицы dBase являются одним из первых форматов БД, появившихся на ПК, благодаря чему с ними могут взаимодействовать многие СУБД - если и не на прямую, то по крайней мере, имея возможность импортировать и экспортировать данные в этом формате. Более того, с некоторыми оговорками, их можно просматривать и редактировать даже в электронных таблицах, например, в Excel. Формат dBase является достаточно простым и может использовать для хранения каждой таблицы до 3 файлов:. dbf - основная таблица с данными;.

dbt - BLOB-данные (этот файл появляется, если в таблице предусмотрены соответствующие поля);. mdx - файл с индексами. Таким образом, dBase - это достаточно простой и универсальный формат таблиц. Это о преимуществах, из недостатков же следует отметить такие, как ограничения на имена полей в таблицах: максимальная длина - всего 10 символов, допустимы только латинские буквы и цифры. Сходные ограничения налагаются на имена самих таблиц, при этом, в лучших традициях 16-битных систем, длина имени таблицы не должна превышать 8 символов (хотя это ограничение, в общем-то, можно игнорировать при работе в Delphi под 32-разрядными системами). Но куда более существенными недостатками являются отсутствие автоматического контроля целостности данных или связей, прав доступа, а так же ограничения на поддерживаемые типы данных, ключи, индексы и т.д. Все это делает данный формат недостаточно конкурентоспособным.

Другой формат, Paradox, появился позже и, пожалуй, является одним из наиболее развитых форматов, применяемых в локальных БД. Основными отличиями этого формата от dBase являются:.

возможность использования практически любых символов для названий полей, а так же лимит в 25 символов, а не в 10;. большее количество поддерживаемых типов данных, включая автоинкрементный тип;. поддержка контроля целостности данных и возможность организации проверки вводимых данных;.

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

Типы данных в Paradox 7 Тип Обозначение Описание Alpha A Строка длиной не более 255 символов (аналог ShortString) Number N Число с плавающей точкой (аналог Double) Money $ То же, что и Number, но при выводе сопровождается обозначением денежного знака Short S Малое целое (аналог SmallInt) LongInteger I Целое (аналог LongInt) BCD # Число в двоично-десятичном формате Date D Дата в диапазоне от 1 января 9999г. До 31 декабря 9999г. Time T Время Timestamp @ Дата и время Memo M Строка произвольной длины. Первые 240 символов хранятся в файле основной таблице, остальные – в файле с BLOB-данными Formatted Memo F То же, что и Memo но для RTF-текста Graphic G Графическое изображение в формате BMP, PCX, TIFF, GIF или EPS. При выводе преобразуется в BMP, хранится в файле с BLOB-данными OLE O Произвольные данные, которые поддерживаются через OLE. Хранятся в файле в BLOB-данными Logical L Логическое значение (TRUE или FALSE) Autoincrement + Автоинкрементное поле.

База данных delphi access исходники

При добавлении новой записи значение этого поля автоматически увеличивается на 1 Binary B Двоичная информация (произвольная последовательность байтов). Подобно Memo, первые 240 байт хранятся в файле основной таблицы, остальные – в BLOB Bytes Y Двоичная информация (произвольная последовательность байтов) длиной не более 255 символов Что касается файлов, используемых для хранения информации, то в Paradox их может быть использовано достаточно большое количество:. db - файл с основными данными таблицы;. mb - файл с BLOB-данными;. px - файл с первичным индексом (ключом);. xg?

- файлы со вторичными индексами (вместо? Будет порядковый номер индекса);. val - файл с информацией для проверки данных и целостности ссылок.

Запись Базы Данных Это

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

Но поскольку преимуществ у него гораздо больше, то в Delphi именно Paradox предлагается использовать по умолчанию, и потому этот формат называется не Paradox, а Standard. Инструменты для работы с БД Помимо поддержки БД в самой среде Delphi, в состав поставки Delphi входит ряд дополнительных инструментов, служащих для обеспечения работы с БД. Прежде всего, это BDE - Borland Database Engine, представляющий собой набор системных библиотек и драйверов, предназначенных для взаимодействия БД и приложений, разрабатываемых в Delphi.

Кроме того, имеется рад дополнительных приложений, вызвать которые можно самостоятельно (из программной группы Delphi), или из IDE:. BDE Administrator - утилита для настройки различных параметров BDE, настройки драйверов баз данных, создания и удаления псевдонимов БД. Эта программа так же встраивается в системную панель управления;.

Database Desktop - программа для создания, просмотра и редактирования отдельных таблиц и запросов;. Data Pump - программа для переноса данных между БД;. Database Explorer - программа-проводник для иерархического просмотра и редактирования БД. В версиях Enterprise и Architect устанавливается более гибкая и функциональная версия - SQL Explorer;. SQL Monitor - программа для отслеживания прохождения запросов к удаленным серверам БД (только Enterprise и Architect);.

SQL Builder - приложение для конструирования SQL-запросов (вызывается при обращении к соответствующим компонентам в Delphi IDE, только Enterprise и Architect);. InterBase Server - СУБД InterBase, включая клиентскую и серверную части (только Enterprise и Architect);. dbExpress - набор драйверов для доступа к SQL-СУБД, включая InterBase, DB2, Oracle, MSSQL и MySQL. В VCL для этих целей используется одноименный набор компонентов.

В ранних версиях Delphi вместо dbExpress использовались SQL Links, но, начиная с Delphi 7, эта система считается устаревшей. Как и другие SQL-ориентированные компоненты, dbExpress и SQL Links имеются только в версиях Enterprise и Architect. ПРИМЕЧАНИЕ Очевидно, что многие инструменты, прежде всего, ориентированные на использование с промышленными БД, имеются в промышленных же (Enterprise) вариантах поставки Delphi стоимостью около 2-3 тыс. Впрочем, рассмотрение подобных нюансов в этой книге мы опустим, тем более что для рассматриваемых примеров SQL-ориентированные СУБД нам не понадобятся. Помимо перечисленных инструментов, в Delphi имеется множество компонент, имеющих самое непосредственное отношение к базам данных. Прежде всего, это группы Data Access, Data Controls и BDE.

К этой же категории относятся группы ADO, InterBase, WebSnap и некоторые другие, однако все их рассматривать не представляется ни возможным, ни необходимым. Таким образом, в состав Delphi входит все необходимое для того, чтобы создавать как локальные, так и промышленные - если рассматривать соответствующий вариант поставки Delphi - базы данных. ВНИМАНИЕ Следует учитывать, что используемые драйвера СУБД, равно как и BDE в обязательном порядке должны присутствовать на тех ПК, на которых будет выполняться разрабатываемое приложение БД. Помимо средств, входящих в поставку Delphi необходимо упомянуть и о технологиях, имеющихся для этих целей в Windows. Так, механизм доступа к данным ADO, основанный на COM обеспечивает универсальный механизм доступа к данным из приложений. Использование ADO позволяет отказаться от установки BDE и поставки дополнительных библиотек на ПК конечного пользователя разрабатываемого приложения БД.

Ряд компонент, в частности, компоненты из групп dbExpress и InterBase так же позволяют работать с БД в обход BDE. Однако отказ от BDE и использование специализированных компонентов автоматически увеличивает сложность разработки приложений баз данных, поскольку BDE по отношению к различным СУБД, как и VCL по отношению Windows API, сглаживает многие острые углы, проявляющиеся при работе с БД. BDE и BDE Administrator Несмотря на то, что в последнее время компания Borland усиленно продвигает SQL-ориентированный подход для разработки БД и агитирует за использование соответствующих компонентов (в частности, dbExpress), BDE остается популярным средством для разработки относительно несложных БД. Такому положению вещей способствует не только удобство и простота этой технологии, но и большое количество приложений, созданных с использованием BDE, поддержку и развитие которых требуется осуществлять и сегодня.

Для настойки параметров БД, поддерживаемых BDE, а так же для создания псевдонимов (Aliases) к базам данных, используют специальную утилиту, входящую в поставку Delphi - BDE Administrator. Рабочая область этой программы представляет собой блокнот из 2 страниц - Databases и Configuration (рис. Окно BDE Administrator с открытой страницей Databases На странице Databases расположен список имеющихся псевдонимов к БД.

Сразу после установки Delphi и BDE создается несколько псевдонимов, в частности, DBDEMOS, DefaultDD и IBLocal. А чтобы создать новый псевдоним, достаточно из меню Object выбрать пункт New. В результате откроется окно, в котором вы сможете выбрать тип СУБД. По умолчанию предлагается Standard, что обычно подразумевает использование Paradox в качестве драйвера для создаваемой БД. После этого в списке появится новый элемент, который будет назван Standard1, а справа, в области определения свойств (Definition), будут выведены все доступные для редактирования параметры. Применительно к стандартному для Delphi типу это будет собственно тип (Type), драйвер СУБД (Default driver), режим преобразования вещественных чисел (Enable BCD) и каталог, в котором расположены файлы БД (Path). Поскольку Delphi в качестве 'своего' формата поддерживает не только Paradox, то в качестве драйвера можно указать так же форматы dBase, FoxPro и ASCII (текстовый формат).

После создания нового псевдонима можно изменить его название - проще всего это сделать сразу же после того, как он будет создан - пока курсор редактирования находится непосредственно на нем. Позже можно будет изменить его, выбрав пункт Rename из меню Object. Допустим, что наш псевдоним будет называться DATA1, а в качестве пути укажем каталог Data на диске C. Таким образом, если нам в будущем понадобится обратиться к БД типа Paradox, расположенной в каталоге C: Data, то нам будет достаточно указать лишь ее псевдоним, а остальную информацию BDE предоставит приложению автоматически. Вторая страница BDE Administrator - Configuration предназначена для настроек как отдельных драйверов СУБД (группа Drivers), так и для общих для всех СУБД системных переменных (группа System). Драйвера, в свою очередь, подразделяются на поддерживаемые BDE напрямую (Native) и посредством ODBC (Open Database Connectivity - совместимость открытых баз данных). Среди настроек, в первую очередь следует выделить опцию Langdriver, имеющуюся как у системных настроек (группа INIT, см.

18.2), так и для каждой СУБД в отдельности. Для корректной работы с кириллицей следует установить значение 'Pdox ANSI Cyrillic', соответствующее кодировке Windows-1251, как в общих настройках (INIT), так и для используемого драйвера СУБД (например, Paradox). Системные настройки в BDE Administrator После произведения всех необходимых настроек следует перезапустить приложения, использующие BDE для того, чтобы новые параметры вступили в силу. Что касается созданных псевдонимов, то они становятся доступными сразу же после создания (вернее, сразу после того, как вы сохраните конфигурацию, нажав на кнопку Apply или выбрав соответствующий пункт из меню Object). Создание таблиц в Database Desktop Для работы с таблицами при создании приложения БД можно использовать приложение Database Desktop, входящее в поставку Delphi. С помощью Database Desktop можно создавать и реструктуризировать таблицы, вносить в них новые записи, а так же создавать запросы.

Для создания новой таблицы следует выбрать пункт меню File New Table. При этом будет предложено выбрать тип создаваемой страницы, по умолчанию предлагается формат Paradox 7, и именно его мы и будем использовать. Сразу после подтверждения выбранного типа откроется окно определения структуры таблицы (рис. 18.3), в котором и производятся все необходимые действия, связанные с созданием и определением параметров таблицы, включая ее поля, индексы, пароли, условия и ограничения на значения и для ссылочной целостности. Окно определения структуры таблицы Как нам уже известно, программа-минимум для создания таблицы реляционной СУБД заключается в создании одного поля. Имя поля указывают в столбце Field Name, а его параметры - в Type (тип) и Size (размер).

Структура Бд

Возможные типы данных для таблиц Paradox были приведены в таблице 18.1, что касается размеров, то они актуальны, в основном, только для типов Alpha и Bytes. Для BLOB-типов данных размеры так же можно указывать, но для них этот размер будет определять не ограничение размера самих данных, а то, сколько байт должно храниться в основном файле таблицы. Наконец, в графе Key можно отметить поле или поля, являющиеся ключевыми, по которым будет создан первичный индекс.

2019 © leadingbestru