Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
20.06.2014
Размер:
32.05 Кб
Скачать

Лабораторная работа № 4

Использование DBGrid для управления таблицей.

Цель работы: Изучение свойств, событий и методов компонента DBGrid и приемов построения интерфейса пользователя с использованием DBGrid нВ примере таблицы изделий.

Структура таблицы «Товары»

Окно программы.

Код программы.

unit ft;

interface

uses

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

Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids;

type

TFTov = class(TForm)

TTovary: TTable;

DSTovary: TDataSource;

DBGrid1: TDBGrid;

ESearch: TEdit;

LSearch: TLabel;

QueryTov: TQuery;

BSearch: TButton;

TDZak: TTable;

procedure FormActivate(Sender: TObject);

procedure TTovaryAfterInsert(DataSet: TDataSet);

procedure FormCreate(Sender: TObject);

procedure TTovaryBeforeDelete(DataSet: TDataSet);

procedure BSearchClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FTov: TFTov;

implementation

{$R *.dfm}

procedure TFTov.FormActivate(Sender: TObject);

begin

TTovary.IndexName:='Nazv_Ind';

TTovary.Active:=True;

end;

procedure TFTov.TTovaryAfterInsert(DataSet: TDataSet);

var ms:variant;

begin

QueryTov.SQL.Clear;

QueryTov.SQL.Add('SELECT MAX(Code_Izd) FROM Tovary');

QueryTov.Active:=true;

ms:=QueryTov.FieldByName('MAX OF Code_Izd').asVariant;

TTovary.FieldByName('Code_Izd').AsVariant:=ms+1;

QueryTov.SQL.Clear;

QueryTov.Close;

end;

procedure TFTov.FormCreate(Sender: TObject);

begin

TTovary.Close;

end;

procedure TFTov.TTovaryBeforeDelete(DataSet: TDataSet);

var cod:variant;

begin

cod:=TTovary.FieldByname('Code_Izd').AsVariant;

QueryTov.SQL.Clear;

QueryTov.SQL.Add('SELECT * FROM Zakazchik WHERE Zakazchik.Code_Izd =cod');

QueryTov.Active:=true;

if not(QueryTov.IsEmpty) then begin ShowMessage('Запись удалить невозможно. Извините'); Abort; end

else

if MessageDlg('Удалить запись',mtConfirmation,[mbOK,mbCancel],0)=1 then TTovary.Delete else Abort;

end;

procedure TFTov.BSearchClick(Sender: TObject);

begin

if not(TTovary.Locate('NAzv_Izd',ESearch.Text,[loCaseInsensitive,loPartialKey])) then ShowMessage('Запись не найдена. Простите');

end;

end.

Соседние файлы в папке Лабораторные работы №1-6 - КИ МГОУ