Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

MSAccess и Delphi - файл BDLybrary курсовик.doc


MSAccess и Delphi
скачать (493.5 kb.)

Доступные файлы (1):

BDLybrary курсовик.doc724kb.07.02.2010 16:39скачать

содержание
Загрузка...

BDLybrary курсовик.doc

Реклама MarketGid:
Загрузка...
Федеральное агентство по образованию

ГОУ ВПО «Омский государственный педагогический университет»

Кафедра ИВТ


Курсовая работа

Технология баз данных. Средства Delphi для ведения баз данных


Выполнил: студент 3 курса

Факультета информатики

Фролов Александр Олегович

Руководитель:

Старший преподаватель кафедры ИВТ

Абрамченко Нина Владимировна


Омск 2010

Содержание


Введение 3

1 Теоретическая часть

1.1 MS Access 4

1.2 Технология ADO 5

1.3 Технология SQL 6

2 Практическая часть

2.1 Описание предметной области 8

2.2 Датологическое проектирование 8

2.3 Проектирование БД «Библиотека» в среде СУБД Access 9

2.4 Функциональность программы 10

2.5 Формализация задачи 10

2.6 Схема решения задачи 11

3 Логика работы программы

3.1 Архитектура программно-аппаратного комплекса 12

3.2 Руководство пользователя 12

Заключение 19

Список использованной литературы 20

^ Приложение: листинг программы, электронная версия 21


Введение


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

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

База данных – это поименованная совокупность структурированных данных предметной области.

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

Целью курсовой работы является создание программы «BDLibrary», которое упрощает работу сотрудников библиотеки, что приводит к экономии большого количества времени.

Задачами курсовой работы является систематизация, закрепление и расширение теоретических и практических знаний по использованию готовых и созданию собственных баз данных, применяя систему объектно-ориентированного программирования Delphi, а также развитие навыков ведения самостоятельной работы.

Предметом исследования является библиотека.


^

1 Теоретическая часть


1.1 MS Access

Приложение Microsoft Access 97/2000 (далее Access) является мощной и высокопроизводительной 32-разрядной системой управления реляционной базой данных (далее СУБД).

База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.

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

  • СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, больших, чем те, с которыми справляются электронные таблицы.

  • СУБД может легко связывать две таблицы так, что для пользователя они будут представляться одной таблицей. Реализовать такую возможность в электронных таблицах практически невозможно.

  • СУБД минимизируют общий объём базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц.

Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows. [3]

Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase. Работая в среде Microsoft Office , пользователь получает в своё распоряжение полностью совместимые с Access

текстовые документы(Word) , электронные таблицы(Excel) , презентации(PowerPoint).С помощью новых расширений для Internet можно напрямую взаимодействовать с данными из World Wide Web и транслировать представление данных на языке HTML, обеспечивая работу с такими приложениями как Internet Explorer и Netscape Navigator.

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

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

Microsoft Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, сортировку по разным полям, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

База данных. В общем смысле - совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области. В терминах СУБД MS Access база данных - это набор данных и объектов, связанных общей задачей. Каждая база данных - это совокупность таблиц, запросов, форм, отчётов, макросов и модулей, которая хранится в файле с произвольным именем и расширением .MDB.

Microsoft Access объединяет сведения из разных источников в одной реляционной базе данных. Создаваемые формы, запросы и отчеты позволяют быстро и эффективно обновлять данные, получать ответы на вопросы, осуществлять поиск нужных данных, анализировать данные, печатать отчеты.

^ 1.2 Технология ADO

Наряду с традиционными инструментами доступа к данным Borland Database Engine и ODBC в приложениях Delphi можно применять технологию Microsoft ActiveX Data Objects (ADO), которая основана на возможностях СОМ, а именно интерфейсов OLE DB.

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

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

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

Список установленных в данной операционной системе провайдеров доступен для выбора при установке соединения через компонент TADOConnection.

При инсталляции Microsoft ActiveX Data Objects в операционной системе устанавливаются следующие стандартные провайдеры.

  •  Microsoft Jet OLE DB Provider обеспечивает соединение с данными СУБД Access при посредстве технологии ОАО.

  •  Microsoft OLE DB Provider for Microsoft Indexing Service обеспечивает доступ только для чтения к файлам и Internet-ресурсам Microsoft Indexing Service.

  •  Microsoft OLE DB Provider for Microsoft Active Directory Service обеспечивает доступ к ресурсам службы каталогов (Active Directory Service).

  •  Microsoft OLE DB Provider for Internet Publishing позволяет использовать ресурсы, предоставляемые Microsoft FrontPage, Microsoft Internet Information Server, HTTP-файлы.

  •  Microsoft Data Shaping Service for OLE DB позволяет использовать иерархические наборы данных.

  •  Microsoft OLE DB Simple Provider предназначен для организации доступа к источникам данных, поддерживающим только базисные возможности OLE DB.

  •  Microsoft OLE DB Provider for ODBC drivers обеспечивает доступ к данным, которые уже "прописаны" при помощи драйверов ODBC. Однако реальное использование столь экзотичных вариантов соединений представляется проблематичным. Драйверы ODBC и так славятся своей медлительностью, поэтому дополнительный слой сервисов здесь ни к чему.

  •  Microsoft OLE DB Provider for Oracle обеспечивает соединение с сервером Oracle.

  •  Microsoft OLE DB Provider for SQL Server обеспечивает соединение с сервером Microsoft SQL Server.

В программе «BDLibrary» используется провайдер Microsoft Jet OLE DB Provider, так как таблицы данных, с которыми она взаимодействует, были созданы в СУБД Access. [5]

^ 1.3 Технология SQL

Компоненты Delphi для работы с базами данных были созданы в расчете на работу с SQL и архитектурой клиент/сервер. При работе с ними вы можете воспользоваться характеристиками расширенной поддержки удаленных серверов. Delphi осуществляет эту поддержку двумя способами. Во-первых, непосредственные команды из Delphi позволяют разработчику управлять таблицами, устанавливать пределы, удалять, вставлять и редактировать существующие записи. Второй способ заключается в использовании запросов на языке SQL, где строка запроса передается на сервер для ее разбора, оптимизации, выполнения и передачи обратно результатов. [2]

Delphi поддерживает статический и динамический SQL. В Delphi имеется объект TQuery, который используется для хранения и выполнения SQL-запросов.

Свойство TQuery SQL содержит текст SQL-запроса, выполняемых TQuery.
Данное свойство имеет тип TStrings, означающее, что оно может хранить в списке целую серию строк. Список ведет себя подобно массиву, но в действительности это специальный класс с уникальными возможностями.

^ Компонент TQuery позволяет выполнять два типа SQL-запросов:

  • Статические SQL-запросы

  • Динамические SQL-запросы

Статический SQL-запрос устанавливается во время проектирования и не содержит никаких параметров или переменных. Например, следующая строка является статическим SQL-запросом:

^ SELECT * FROM CUSTOMER WHERE CUST_NO = 1234

Динамический SQL-запрос, или, как его еще называют, параметрический запрос, включает в себя параметры для колонок или имени таблицы. Например, следующая строка является динамическим SQL-запросом:

SELECT * FROM CUSTOMER WHERE CUST_NO = :Number

Переменная Number, указанная после двоеточия - параметр, который вы назначаете во время выполнения приложения. Во время выполнения запроса параметр может изменяться.

^ Delphi-приложения могут использовать SQL для получения доступа к следующим БД:

  • Таблицы Paradox или dBASE, использующие локальный SQL. Допустимый синтаксис является подмножеством стандарта ANSI-standard SQL и включает основные SELECT, INSERT, UPDATE, и DELETE запросы. Для получения дополнительной информации о локальном синтаксисе SQL обратитесь к справке Using Local SQL.

  • Базы данных Local InterBase Server, включая Local InterBase Server. Допускаются любые запросы InterBase SQL. Для получения дополнительной информации о синтаксисе и ограничениях обратитесь к электронной справке SQL Statement and Function Reference.

  • Базы данных на удаленных серверах баз данных (только в версии Delphi Client/server). По-видимому вы установили подходящий SQL Link. В SQL серверах допускаются любые стандартные SQL запросы. Для получения дополнительной информации о синтаксисе и ограничениях обратитесь к электронной справке вашего сервера. [6]

^




2 Практическая часть


2.1 Описание предметной области

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

Информационное обеспечение такого приложения пользователя включает:

  • Информацию о книгах.

  • Информацию о читателях.

  • Информацию об абонементах.


^ 2.2 Даталогическое проектирование

Логическая структура реляционной базы данных Access является адекватным отображением полученной информационно-логической модели предметной области. Для канонической модели не требуется дополнительных преобразований. Каждый информационный объект модели данных отображается реляционной таблицей. Структура реляционной таблицы определяется реквизитным составом соответствующего информационного объекта, где каждое поле соответствует одному из реквизитов объекта. Ключевые реквизиты объекта образуют уникальный ключ реляционной таблицы. Для каждого поля задается тип, размер данных и др. свойства. Записи таблицы соответствуют экземплярам объекта и формируются при загрузке таблицы.

Связи между объектами данных реализуются одинаковыми реквизитами – ключами связи в соответствующих таблицах. При этом ключом связи типа 1:М всегда является уникальный ключ главной таблицы.






Рис.1 Даталогическая модель


^ 2.3 Проектирование БД «Библиотека» в среде СУБД Access


1. Структура таблицы «Книги» следующая:


Имя поля

Тип

Свойство

Описание

Код_книги

Текстовый

Размер 5

Библиотечный шифр

Название

Текстовый

Размер 20

Название книги

Автор

Текстовый

Размер 20

Автор книги

Жанр

Текстовый

Размер 20

Жанр книги

Год_выпуска

Числовой




Год выпуска книги

Цена_за_сутки

Числовой




Суточная цена книги


2. Структура таблицы «Читатели» следующая:


Имя поля

Тип

Свойство

Описание

Код_абонента

Текстовый

Размер 5

Шифр абонента

Фамилия

Текстовый

Размер 20

Фамилия абонента

Адрес

Текстовый

Размер 20

Адрес абонента

Телефон

Текстовый

##-##-##

Телефон абонента


3. Структура таблицы «Абонемент» следующая:


Имя поля

Тип

Свойство

Описание

Код_книги

Текстовый

Размер 5

Библиотечный шифр

Код_абонента

Текстовый

Размер 5

Шифр абонента

Дата_выдачи

Дата/Время

##.##.##

Дата выдачи книги

Дата_возврата

Дата/Время

##.##.##

Дата возврата книги



^

2.4 Функциональность программы


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

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

  • Предусмотреть удобный ввод данных;

  • Отображение и просмотр данных «Книги», «Читатели» и «Абонемент» в табличном виде;

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

  • Просмотр диаграммы;

  • Просмотр отчетов;

  • Содержать справочную информацию об авторе и о программе;

^ 2.5 Формализация задачи

При работе приложения используются следующие промежуточные переменные:


Назначение

Обозначение (имя)

Тип

Ограничения

Вспомогательная переменная для выполнение запросов

s

String

#0..#255

Вспомогательная переменная для выполнение запросов

p

String

#0..#255

Вспомогательная переменная для выполнение поиска

f

boolean




Вспомогательная переменная для выполнение поиска

c

variant





В базе данных находятся следующие таблицы:

Таблица «Книги»


Имя поля

Тип поля

Размер поля

Ключевое поле

Код_книги

Текстовый

Размер 5

*

Название

Текстовый

Размер 20




Автор

Текстовый

Размер 20




Жанр

Текстовый

Размер 20




Год_выпуска

Числовой







Цена_за_сутки

Текстовый








Таблица «Читатели»


Имя поля

Тип поля

Размер поля

Ключевое поле

Код_абонента

Текстовый

5

*

Фамилия

Текстовый

20




Адрес

Текстовый

20




Телефон

Текстовый

8





Таблица «Абонемент»


Имя поля

Тип поля

Размер поля

Ключевое поле

Код_книги

Текстовый

5




Код_абонента

Текстовый

5




Дата_выдачи

Дата/время

Короткий формат даты




Дата_возврата

Дата/время

Короткий формат даты





2.6 Схема решения задачи

^

3 Логика работы программы


3.1 Архитектура программно-аппаратного комплекса

Для корректной работы приложения необходимы следующие аппаратные и системные программные средства:


ADO

Использование ADO является альтернативой Borland Database Engine (BDE), обеспечивающей более эффективную работу с данными. Для использования этой возможности на вашем компьютере должна быть установлена система ADO 2.1 или более старшая версия. Кроме того должна быть установлена клиентская система доступа к данным, например, Microsoft SQL Server, а в ODBC должен иметься драйвер OLE DB для того типа баз данных, с которыми вы работаете.


^ Microsoft Office Access 2003

Microsoft Office Access 2003 является системой управления базами данных в которой можно создавать и редактировать базы данных.

Microsoft Office Access 2003 позволяет просматривать сведения о зависимостях между объектами базы данных. Просмотр списка объектов, используемых указанным объектом, помогает осуществлять поддержку базы данных и предотвращать ошибки, связанные с потерей источников записей.


Системные требования

Процессор Intel Pentium(R) 4 Celeron 2.40 GHz, 768 MB ОЗУ, RADION 9250 AGP 128MB, 10MB свободного места на жестком диске, ОС Microsoft Windows XP Pro SP2.


^ 3.2 Руководство пользователя

При открытии приложения открывается главное окно программы (рис. 2)



Рис.2 Главное окно программы


Меню программы содержит следующие пункты:

  • Данные

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




Рис.3 Меню «Ввод данных»




Рис.4 Форма просмотра и редактирования данных


  • ^ Работа с данными

С помощью пункта меню «Работа с данными» (рис. 5) вы сможете отсортировать записи по выбранным вами полям: по возрастанию и убыванию, просмотреть различные виды поисков и подсчитать общее количество книг у каждого абонента. Для этого нужно выполнить следующее: Работа с данными – Поиск по коду (рис. 6), Работа с данными – Группировка (рис.7), Работа с данными – Поиск по Фамилии (рис.8), Работа с данными – Сортировка (рис.9).



Рис.5 Меню «Работа с данными»






Рис.6 Окно приложения «Поиск по коду». Код поиска





Рис.7 Окно приложения «Группировка». Код группировки






Рис.8 Окно приложения «поиск по фамилии». Код поиска





Рис.9 Окно приложения «Сортировка». Код сортировки



  • Справка

С помощью пункта меню «Справка» вы можете получить информацию об авторе и о программе.




Рис.10 Окно приложения «О программе»



  • ^ Выход

После выбора пункта Меню “Выход” программа будет закрыта.


Заключение

В ходе выполнения курсовой работы была разработана программа «BDLibrary», обладающая следующим функционалом:

1) просмотр и редактирование данных;

2) поиск по коду;

3) группировка данных;

4) поиск по фамилии;

5) сортировка данных;

6) справка о программе


В заключении можно сказать, что созданная программа – проста, удобна в применении, так как данные отображаются в таблице, экономит большое количество времени. Эта программа доступна для любого человека, работающего в библиотеке и обладающего простыми навыками пользования компьютером.

Потенциал программы большой. В будущем, функциональность программы можно было бы расширить за счет добавления различных функций. Например, добавить в программу несколько новых видов поиска, сортировки, добавить функцию просмотра данных в виде диаграмм (для большей наглядности данных). Также можно добавить возможность создавать по данным таблиц отчеты, которые можно было бы распечатывать.
^

Список использованной литературы


  1. А.Н. Морган «Справочник по Turbo Pascal для студентов», Диалектика, 2006

  2. А.Я. Архангельский «Программирование в Delphi 2005 и 2006», Издательство «БИНОМ», 2006

  3. Боровский, А.Н. Программирование в Delphi/ А.Н. Боровский. - СПб.: БХВ-Петербург. – 2005.

  4. Симонович, С.В. Информатика. Базовый курс./ С.В.Симонович/ 2-е издание, под ред. С. В. Симоновича. - СПб.: Питер. - 2005.

  5. http://www.realcoding.net

  6. http://www.delphisources.ru



Приложение: листинг программы


Unit1.pas

unit Unit1;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, XPMan, ExtCtrls;


type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N4: TMenuItem;

Image1: TImage;

N5: TMenuItem;

N9: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N9Click(Sender: TObject);


private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;


implementation


uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;


{$R *.dfm}


procedure TForm1.N2Click(Sender: TObject);

begin

form2.show;

form1.Hide;

end;


procedure TForm1.N6Click(Sender: TObject);

begin

form3.show;

form1.Hide;

end;


procedure TForm1.N8Click(Sender: TObject);

begin

form4.show;

form1.Hide;

end;


procedure TForm1.N7Click(Sender: TObject);

begin

form5.show;

form1.Hide;

end;


procedure TForm1.N4Click(Sender: TObject);

begin

form6.show;

form1.hide;

end;


procedure TForm1.N5Click(Sender: TObject);

begin

Form1.Close;

end;


procedure TForm1.N9Click(Sender: TObject);

begin

form7.show;

form1.Hide;

end;


end.


Unit2.pas

unit Unit2;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls, DB, ADODB, XPMan;


type

TForm2 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

ADOConnection2: TADOConnection;

ADOTable2: TADOTable;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

ADOConnection3: TADOConnection;

ADOTable3: TADOTable;

DataSource3: TDataSource;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form2: TForm2;


implementation


{$R *.dfm}

end.


Unit3.pas

unit Unit3;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, ExtCtrls;


type

TForm3 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

ADOQuery1: TADOQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form3: TForm3;


implementation


{$R *.dfm}


procedure TForm3.Button1Click(Sender: TObject);

var p,s:string;

begin

if radiobutton1.Checked=True then p:='Код_книги';

if radiobutton2.Checked=True then p:='Код_абонента';

adoquery1.Close;

Adoquery1.sql.Clear;

s:='select * from абонемент where '+p+'="'+edit1.Text+'"';

Adoquery1.sql.Add(s);

Adoquery1.open;

datasource1.DataSet:=adoquery1;

end;


procedure TForm3.Button2Click(Sender: TObject);

begin

datasource1.DataSet:=adotable1;

end;


end.


Unit4.pas

unit Unit4;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls;


type

TForm4 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Label1: TLabel;

GroupBox1: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

Button1: TButton;

TabSheet2: TTabSheet;

Label3: TLabel;

GroupBox2: TGroupBox;

Label4: TLabel;

Edit2: TEdit;

Button2: TButton;

Label5: TLabel;

Label6: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form4: TForm4;


implementation


{$R *.dfm}


procedure TForm4.Button1Click(Sender: TObject);

var f:boolean;

begin

f:=adotable1.Locate('Фамилия',edit1.text,[lopartialkey]);

if f=false then showmessage ('Такой фамилии нет!!!');

end;


procedure TForm4.Button2Click(Sender: TObject);

var c:variant;

begin

c:=adotable1.lookup('Фамилия',edit2.Text,'Телефон');

case vartype(c) of

varempty:label6.Caption:='пустой результат';

varnull:label6.caption:='запись не найдена';

else

label6.Caption:=c;

end;

end;


end.


Unit5.pas

unit Unit5;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ADODB, StdCtrls, Grids, DBGrids, DB;


type

TForm5 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Button1: TButton;

ADOQuery1: TADOQuery;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form5: TForm5;


implementation


{$R *.dfm}


procedure TForm5.Button1Click(Sender: TObject);

var s:string;

begin

AdoQuery1.Close;

AdoQuery1.SQL.Clear;

s:='select Читатели.Фамилия, count(Абонемент.Код_книги) as Количество_книг from Книги,Читатели,Абонемент where Читатели.Код_абонента=Абонемент.Код_абонента and Книги.Код_книги=Абонемент.Код_книги group by Читатели.Фамилия';

AdoQuery1.SQL.Add(s);

AdoQuery1.Open;

datasource1.DataSet:=adoquery1;

end;


procedure TForm5.Button2Click(Sender: TObject);

begin

datasource1.DataSet:=adotable1;

end;


end.


Unit6.pas

unit Unit6;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, jpeg, ExtCtrls;


type

TForm6 = class(TForm)

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form6: TForm6;


implementation


{$R *.dfm}


end.


Unit7.pas

unit Unit7;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB;


type

TForm7 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

RadioGroup1: TRadioGroup;

Label1: TLabel;

ComboBox1: TComboBox;

Button1: TButton;

Button2: TButton;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

ADOQuery1: TADOQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form7: TForm7;


implementation


{$R *.dfm}


procedure TForm7.Button1Click(Sender: TObject);

var s,p:string;

begin

if ComBobox1.text='' then showmessage('Не выбрано поле сортировки!');

if ComBobox1.text='Код_книги' then p:='Код_книги';

if ComBobox1.text='Название' then p:='Название';

if ComBobox1.text='Жанр' then p:='Жанр';

if ComBobox1.text='Год_выпуска' then p:='Год_выпуска';

if ComBobox1.text='Цена_за_сутки' then p:='Цена_за_сутки';

adoquery1.Close;

adoquery1.SQL.Clear;

s:='select* from Книги order by '+p;

if radiobutton2.Checked=True then s:=s+' desc';

adoquery1.SQL.Add(s);

Adoquery1.open;

datasource1.DataSet:=adoquery1;

end;


procedure TForm7.Button2Click(Sender: TObject);

begin

datasource1.DataSet:=adotable1;

end;


end.


Скачать файл (493.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru