Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
![](images/emoji__ok.png)
Предоплата всего
![](images/emoji__signature.png)
Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
ЛАБОРАТОРНАЯ РАБОТА 1
Цель работы: ознакомиться с работой СУБД Access и основами разработки простых приложений БД в среде Delphi; разработать простейшее приложение для работы с базой данных; разработать приложение с использованием компонента TADOQuery; разработать приложение с установкой связи Master - Detail между наборами данных.
Порядок выполнения работы
1. Создадим базу данных (разд. 1.1.2).
2. Создадим набор таблиц в соответствии со структурой из раздела 1.1 (п. 1.1.2.1).
3. Выполним настройку индексов для таблиц GoodsCatalog (Goods-Name, GoodsTypeAndName ) и IncomingGoods (IncomingDateGoods) (п. 1.1.2.2).
4. Организуем связь между таблицами базы данных по ключевым полям (п. 1.1.2.3).
5. Заполните таблицы БД данными с использованием режима подстановки (п. 1.1.2.4).
С помощью Microsoft Access создаем базу данных, состоящую из 3х таблиц. Устанавливаем связи между таблицами, заносим в них данные.
6. Создаим простейшее приложение с двумя таблицами в среде Delphi (пп. 1.1.3.1-1.1.3.2).
7. Настроим параметры отображения столбцов в компоненте TDBGrid и выполните смену активного индекса (п. 1.1.3.3).
8. Организуме работу с полями таблиц БД с использованием визуальных компонентов TDBGrid, TDBEdit, TDBLookupComboBox и TButton (п. 1.1.3.4).
9. Используем компонент TADOQucry для формирования набора данных из нескольких таблиц с последующей синхронизацией компонентов TADOQucry и TADOTable (п. 1.1.3.5).
Создаем проект Delphi, в котором в соответствии с указаниями к лабораторной работе создаем экранную форму с доступом к БД и соответствующие обработчики событий.
При этом файл базы данных «GoodsInventory.accdb» следует разместить в корневом каталоге диска С:
Форма приложения имеет следующий вид
Текст программы обработки нажатий кнопок и прочих событий имеет вид:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, DBCtrls, Mask;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable2: TADOTable;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
DBLookupComboBox1: TDBLookupComboBox;
InsertButton: TButton;
EditButton: TButton;
DeleteButton: TButton;
PostButton: TButton;
CancelButton: TButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
ADOQuery1: TADOQuery;
DataSource3: TDataSource;
DBGrid3: TDBGrid;
procedure FormActivate(Sender: TObject);
procedure InsertButtonClick(Sender: TObject);
procedure EditButtonClick(Sender: TObject);
procedure DeleteButtonClick(Sender: TObject);
procedure PostButtonClick(Sender: TObject);
procedure CancelButtonClick(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure ADOTable2AfterPost(DataSet: TDataSet);
procedure ADOTable2AfterDelete(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
if ADOQuery1.RecordCount > 0 then
ADOTable2.Locate('IDgc', ADOQuery1.FieldByName('IDgc').Value, []);
end;
procedure TForm1.ADOTable2AfterDelete(DataSet: TDataSet);
begin
ADOQuery1.Active := False;
ADOQuery1.Active := True;
end;
procedure TForm1.ADOTable2AfterPost(DataSet: TDataSet);
begin
ADOQuery1.Active := False;
ADOQuery1.Active := True;
end;
procedure TForm1.CancelButtonClick(Sender: TObject);
begin
if ADOTable2.State in [dsBrowse, dsEdit] then
ADOTable2.Cancel;
end;
procedure TForm1.DeleteButtonClick(Sender: TObject);
begin
if ADOTable2.State = dsBrowse then
if MessageDlg('Подтвердите удаление записи', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
ADOTable2.Delete;
end;
procedure TForm1.EditButtonClick(Sender: TObject);
begin
if ADOTable2.State = dsBrowse then
ADOTable2.Edit;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ADOTable1.Active := true;
ADOTable2.Active := true;
end;
procedure TForm1.InsertButtonClick(Sender: TObject);
begin
if ADOTable2.State = dsBrowse then
ADOTable2.Insert;
end;
procedure TForm1.PostButtonClick(Sender: TObject);
begin
if ADOTable2.State in [dsBrowse, dsEdit] then
ADOTable2.Post;
end;
end.
Окончательно настроим внешний вид формы и получим следующее приложение:
10.Установим связь Master - Detail между наборами данных с использованием компонентов TADOQuery и TADOTable (п. 1.1.3.6).
Операции проводим с копией проекта (Lab1_copy).
Получим
11. Сгенерируйте SQL-запрос с использованием конструктора запросов Microsoft Access (разд. 1.1.4).
Создадим запрос, используя конструктор запросов Microsoft Access
Отредактируем и выполним запрос
Выводы.
В процессе выполнения работы было проведено знакомство с работой СУБД Access и основами разработки простых приложений БД в среде Delphi.
Результатом работы стала разработка простого приложения для работы с базой данных, разработано приложение с использованием компонента TADOQuery, разработано приложение с установкой связи Master - Detail между наборами данных.