Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchyot_po_kursovoy_rabote_po_distsipline_INFOR...docx
Скачиваний:
3
Добавлен:
24.09.2019
Размер:
1.12 Mб
Скачать
  1. Форма запроса

Экранная форма:

Код:

unit Unit6;

interface

uses

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

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

type

TForm6 = class(TForm)

Query1: TQuery;

GroupBox2: TGroupBox;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label4: TLabel;

Label3: TLabel;

Label2: TLabel;

Label1: TLabel;

Edit9: TEdit;

Edit8: TEdit;

Edit7: TEdit;

Edit6: TEdit;

Edit5: TEdit;

Edit4: TEdit;

Edit3: TEdit;

Edit2: TEdit;

Edit1: TEdit;

CheckBox7: TCheckBox;

CheckBox6: TCheckBox;

CheckBox5: TCheckBox;

CheckBox4: TCheckBox;

CheckBox3: TCheckBox;

CheckBox2: TCheckBox;

CheckBox1: TCheckBox;

Label5: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.BitBtn1Click(Sender: TObject);

var s, st : string;

begin

s:='';

st:='';

if CheckBox1.checked then begin

st:=st+'nazv, ';

if edit1.text<>'' then

S:=S+'AND nazv like "%'+edit1.text+'%" ';

end;

if CheckBox2.checked then begin

st:=st+'god, ';

if (edit2.text<>'') and (edit3.text<>'') then

S:=S+'AND god between '+edit2.text+' and '+edit3.text;

end;

if CheckBox3.checked then begin

st:=st+'janr, ';

if (edit4.text<>'') then

S:=S+'AND janr like "%'+edit4.text+'%" ';

end;

if CheckBox4.checked then begin

st:=st+'razr, ';

if (edit5.text<>'') then

S:=S+'AND razr like "%'+edit5.text+'%" ';

end;

if CheckBox5.checked then begin

st:=st+'izdat, ';

if (edit6.text<>'') then

S:=S+'AND izdat like "%'+edit6.text+'%" ';

end;

if CheckBox6.checked then begin

st:=st+'treb, ';

if (edit7.text<>'') then

S:=S+'AND treb like "%'+edit7.text+'%" ';

end;

if CheckBox7.checked then begin

st:=st+'cost, ';

if (edit8.text<>'') and (edit9.text<>'') then

S:=S+'AND cost between '+edit8.text+' and '+edit9.text;

end;

delete(st,length(st)-1,2);

delete(s,1,3);

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.add('SELECT '+st+' FROM main '+'WHERE '+S+' ORDER BY nazv');

Query1.Active:=true;

end;

procedure TForm6.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

var i:integer;

begin

for i:=0 to DBGrid1.Columns.Count-1 do begin

if DBGrid1.Columns[i].Title.Caption='nazv' then DBGrid1.Columns[i].Title.Caption:='Название игры';

if DBGrid1.Columns[i].Title.Caption='god' then DBGrid1.Columns[i].Title.Caption:='Год выпуска';

if DBGrid1.Columns[i].Title.Caption='janr' then DBGrid1.Columns[i].Title.Caption:='Жанр';

if DBGrid1.Columns[i].Title.Caption='razr' then DBGrid1.Columns[i].Title.Caption:='Разработчик';

if DBGrid1.Columns[i].Title.Caption='izdat' then DBGrid1.Columns[i].Title.Caption:='Издатель';

if DBGrid1.Columns[i].Title.Caption='treb' then DBGrid1.Columns[i].Title.Caption:='Системные требования';

if DBGrid1.Columns[i].Title.Caption='cost' then DBGrid1.Columns[i].Title.Caption:='Цена за 1 копию (руб)';

end;

end;

procedure TForm6.BitBtn2Click(Sender: TObject);

begin

close;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]