- •1. Теоретическая часть
- •1.1 Обзор систем управления базами данных.
- •1.2 Среда программирования Delphi 7.0
- •1.3 Язык sql
- •Insert(вставить)
- •1.4 Database Desktop технология моделирования таблиц базы данных
- •1.5 Механизм bde
- •2.2 Построение концептуальной модели базы данных
- •2. Практическая часть
- •2.1 Анализ требований
- •Построение интерфейса приложения базы данных
- •Создание первой формы (Рисунок 1.2).
- •Создание второй формы (Рисунок 1.3).
- •2.4 Разработка запросов базы данных
- •Заключение
- •Список использованных источников
2.4 Разработка запросов базы данных
Первая форма:
Запрограммируем кнопку «Выход»:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer2.Enabled:=false;
Gauge1.Visible:=false;
Form7.Show;
close;
end;
Запрограммируем «Timer1», который будет отображать время:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Caption:=timetostr(time);
end;
И «Timer2», который будет вести отсчет времени в пробной версии:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Timer2.Interval:=200;
Gauge1.Progress:=Gauge1.Progress-1;
if Gauge1.Progress=0 then (close);
if Gauge1.Progress=0 then Form7.close;
end;
Запрограммируем «Автопарк»:
procedure TForm1.N5Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource1;
DBNavigator1.DataSource:=DataModule2.DataSource1;
end;
Запрограммируем «Перевозки»:
procedure TForm1.N6Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource2;
DBNavigator1.DataSource:=DataModule2.DataSource2;
end;
Запрограммируем «Заработки »:
procedure TForm1.N7Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource3;
DBNavigator1.DataSource:=DataModule2.DataSource3;
end;
Запрограммируем «Сортировка»:
procedure TForm1.N14Click(Sender: TObject);
begin
Form3.Show;
Form1.Visible:=false;
end;
Запрограммируем «О программе»:
procedure TForm1.N3Click(Sender: TObject);
begin
AboutBox.Visible:=True;
end;
Запрограммируем «Экспорт в Excel»:
procedure TForm1.N18Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i, j:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='Грузоперевозки';
Colum:=XLApp.Workbooks[1].WorkSheets['Грузоперевозки'].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;
Colum.Columns[3].ColumnWidth:=20;
Colum.Columns[4].ColumnWidth:=20;
Colum.Columns[5].ColumnWidth:=20;
Colum.Columns[6].ColumnWidth:=20;
Colum.Columns[7].ColumnWidth:=20;
Colum:=XLApp.Workbooks[1].WorkSheets['Грузоперевозки'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlack;
Colum.Rows[1].Font.Size:=14;
Sheet:=XLApp.Workbooks[1].WorkSheets['Грузоперевозки'];
Sheet.Cells[1,2]:='Автопарк';
Sheet.Cells[2,1]:='Гос.номер';
Sheet.Cells[2,2]:='Марка';
Sheet.Cells[2,3]:='Водитель';
Sheet.Cells[2,4]:='Грузоподъемность';
Sheet.Cells[2,5]:='Длина';
Sheet.Cells[2,6]:='Ширина';
Sheet.Cells[2,7]:='Высота';
index:=3;
DBGrid1.DataSource.DataSet.First;
for i:=1 to DBGrid1.DataSource.DataSet.RecordCount do
begin
for j:=1 to DBGrid1.FieldCount do
sheet.cells[index,j]:=DBGrid1.fields[j-1].asstring;
inc(index);
DBGrid1.DataSource.DataSet.Next;
end;
end;
Запрограммируем «Печать таблицы»:
procedure TForm1.N9Click(Sender: TObject);
begin
Form8.Show;
Form1.Visible:=false;
Запрограммируем «Поиск»:
procedure TForm1.N16Click(Sender: TObject);
begin
Form5.Show;
Form1.Visible:=false;
end;
Вторая форма:
Запрограммируем кнопку «Выход»:
procedure TForm3.Button1Click(Sender: TObject);
begin
Form1.Show;
close;
end;
Запрограммируем «Справка»:
procedure TForm3.N1Click(Sender: TObject);
begin
AboutBox1.Show;
end;
Запрограммируем «О программе»:
procedure TForm3.N2Click(Sender: TObject);
begin
AboutBox.Visible:=True;
end;
Запрограммируем «Автопарк»:
procedure TForm3.RadioButton1Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource1;
DBNavigator1.DataSource:=DataModule2.DataSource1;
RadioButton4.Visible:=True;
RadioButton5.Visible:=True;
RadioButton2.Visible:=True;
RadioButton6.Visible:=False;
RadioButton8.Visible:=False;
RadioButton9.Visible:=False;
end;
Запрограммируем «Гос.номер»:
procedure TForm3.RadioButton2Click(Sender: TObject);
begin
DataModule2.Table1.IndexFieldNames:='N:Avto';
end;
Запрограммируем «Заработки»:
procedure TForm3.RadioButton3Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource3;
DBNavigator1.DataSource:=DataModule2.DataSource3;
RadioButton4.Visible:=False;
RadioButton5.Visible:=False;
RadioButton2.Visible:=False;
RadioButton6.Visible:=True;
RadioButton8.Visible:=True;
RadioButton9.Visible:=True;
end;
Запрограммируем « Гос.номер »:
procedure TForm3.RadioButton6Click(Sender: TObject);
begin
DataModule2.Table3.IndexFieldNames:='N:Avto';
end;
Запрограммируем «Километры»:
procedure TForm3.RadioButton8Click(Sender: TObject);
begin
DataModule2.Table3.IndexFieldNames:='Kilometras,km';
end;
Запрограммируем «Тонны»:
procedure TForm3.RadioButton9Click(Sender: TObject);
begin
DataModule2.Table3.IndexFieldNames:='Tonnas,t';
end;
Запрограммируем «Марка»:
procedure TForm3.RadioButton4Click(Sender: TObject);
begin
DataModule2.Table1.IndexFieldNames:='Marka';
end;
Запрограммируем «Водитель»:
procedure TForm3.RadioButton5Click(Sender: TObject);
begin
DataModule2.Table1.IndexFieldNames:='Voditel';
end;
Третья форма:
Запрограммируем кнопку «Выход»:
procedure TForm5.Button2Click(Sender: TObject);
begin
Form1.Show;
close;
end;
и кнопку «Печать»:
procedure TForm5.Button1Click(Sender: TObject);
begin
PrinterSetupDialog1.Execute;
PrintDialog1.Execute;
end;
Запрограммируем кнопку «Поиск водителя»:
procedure TForm5.RadioButton2Click(Sender: TObject);
var voditel:string [20];
begin
voditel:=InputBox('Поиск информации из БД','Введите водителя :', '');
if voditel <> '' then
begin
with DataModule2.Query1 do begin
Close;
SQL.Clear;
SQL.Add('select * ');
SQL.Add(' from AvtoPark1');
SQL.Add('where ( voditel = "'+ Voditel + '")');
Open;
end;
if DataModule2.Query1.RecordCount <> 0 then
DBgrid1.DataSource:=DataModule2.DataSource4
else begin
ShowMessage('В базе данных нет');
DBGrid1.DataSource:=dataModule2.dataSource4 end;
end;
RadioButton2.Checked:=False;
end;
Запрограммируем кнопку «Поиск по длине кузова»:
procedure TForm5.RadioButton3Click(Sender: TObject);
var Dlina:string [20];
begin
Dlina:=InputBox('Поиск информации из БД','Введите длину :', '');
if Dlina <> '' then
begin
with DataModule2.Query1 do begin
Close;
SQL.Clear;
SQL.Add('select * ');
SQL.Add(' from AvtoPark1');
SQL.Add('where ( Dlina = "'+ Dlina + '")');
Open;
end;
if DataModule2.Query1.RecordCount <> 0 then
DBgrid1.DataSource:=DataModule2.DataSource4
else begin
ShowMessage('В базе данных нет ');
DBGrid1.DataSource:=dataModule2.dataSource4 end;
end;
RadioButton3.Checked:=False;
end;
Четвертая форма:
Запрограммируем кнопку «Вход»:
procedure TForm7.Button1Click(Sender: TObject);
begin
If(Edit2.Text='111')then
begin
Image2.Show;
Form1.show;
Edit2.Clear;
Form7.Visible:=false;
Image2.Visible:=false;
End;else
begin
MessageDlg('Ключ не верный!',mterror,[mbOk],0);
Edit2.Clear;
end;
end;
и кнопку «Бета»:
procedure TForm7.Button2Click(Sender: TObject);
begin
Form1.Gauge1.Visible:=True;
form1.Timer2.Enabled:=true;
Form1.show;
end;
При нажатии рисунка 1 запускается процедура:
procedure TForm7.Image1Click(Sender: TObject);
begin
Close;
end;
При вводе в поле Edit2 рисунок Image2 становится видимым
procedure TForm7.Edit2Change(Sender: TObject);
begin
If(Edit2.Text='111')then
Image2.Show;
end;
Пятая форма:
Запрограммируем кнопку «Выход»:
procedure TForm8.Button2Click(Sender: TObject);
begin
Form1.Show;
close;
end;
и кнопку «Печать»:
procedure TForm8.Button1Click(Sender: TObject);
begin
PrinterSetupDialog1.Execute;
PrintDialog1.Execute;
end;
Запрограммируем «Автопарк»:
procedure TForm8.RadioButton1Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource1;
end;
Запрограммируем «Перевозки»:
procedure TForm8.RadioButton2Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource2;
end;
Запрограммируем «Заработки »:
procedure TForm8.RadioButton3Click(Sender: TObject);
begin
DbGrid1.DataSource:=DataModule2.DataSource3;
end;
