Автоматизация автосалона

Автор: Пользователь скрыл имя, 21 Марта 2011 в 22:17, курсовая работа

Краткое описание

Основные цели данного курсового проекта:
1. Разработать АИС по автосалону «Автомаркет».
2. Закрепить знания программирования в среде Delphi.
3. Познакомится со всеми этапами создания готового продукта.

Оглавление

Введение 2
Описание таблиц Базы Данных 3
Взаимосвязь между таблицами Базы Данных 4
Описание внешнего вида пользовательского интерфейса 5
ER диаграмма 7
Программный код 7
Программный код 8
Заключение 20
Использованная литература 21

Файлы: 1 файл

Отчет по Курсовой работе БД.doc

— 146.00 Кб (Скачать)

Содержание:

 

Введение

Основные  цели данного курсового проекта:

  1. Разработать АИС по автосалону «Автомаркет».
  2. Закрепить знания программирования в среде Delphi.
  3. Познакомится со всеми этапами создания готового продукта.
 

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

При создании проекта будет использоваться механизм доступа к данным Borland Database Engine (BDE). Этот механизм доступа к данным позволяет обращаться к локальным и файл-серверным форматам баз данных dBase, FoxPro и Paradox, к различным серверам SQL и ко многим другим источникам данных, доступ которых поддерживался при помощи драйверов ODBC. Например, с помощью BDE можно напрямую работать с табличными файлами MS Excel. 
 
 
 
 
 
 
 
 
 
 
 

 

Описание  таблиц Базы Данных

  1. Catalog.db – таблица содержит каталог автомобилей (Acura, BMW и т.д.).
 

     

  1. Characteristic.db – таблица содержит в себе данные о характеристиках автомобилей.
 

     

  1. The.Characteristic.db – в таблицу входят подробное описание характеристик каждого автомобиля.
 

     

  1. Zakaz.db – в таблице отображается наименование автомобиля который был куплен, то есть добавлен в «Архив».
 

Взаимосвязь между таблицами Базы Данных

 

 
 
 
 
 

 
 
 
 
 

 

 
 
 
 

 
 
 

Описание  внешнего вида пользовательского интерфейса

    В данном случае оформление программы производилось добавлением основных элементов как DbGrid, ComboBox и т.д., а присвоение их значение производилось в самом коде. 

  1. Form1.dfm
 

    Рис.1 Общее окно 
     
     
     
     
     

  1. Form2.dfm
 

    

    Рис.2 Окно оформления автомобиля  

  1. Form3.dfm
 

    

    Рис.3 Окно Архива клиентов (тех кто купил автомобиль) 
 
 
 
 

ER диаграмма

 
 

 
 

1 

 
Программный код

 
  1. Unit1.pas
 

unit Unit1; 

interface 

uses

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

  Dialogs, DB, Grids, DBGrids, DBTables, DBCtrls, StdCtrls, XPMan, ComCtrls,

  Buttons, Menus, ExtCtrls; 

type

  TForm1 = class(TForm)

    Query1: TQuery;

    DBGrid1: TDBGrid;

    DataSource1: TDataSource;

    XPManifest1: TXPManifest;

    GroupBox1: TGroupBox;

    Label1: TLabel;

    Label2: TLabel;

    CB1: TComboBox;

    CB2: TComboBox;

    GroupBox2: TGroupBox;

    Label3: TLabel;

    txtOt: TEdit;

    txtDo: TEdit;

    RB1: TRadioButton;

    Label4: TLabel;

    RB2: TRadioButton;

    Label5: TLabel;

    txtYear: TEdit;

    cmdApply: TButton;

    cmdAll: TButton;

    PM1: TPopupMenu;

    N1: TMenuItem;

    DBNavigator1: TDBNavigator;

    MainMenu1: TMainMenu;

    N2: TMenuItem;

    N3: TMenuItem;

    Bevel1: TBevel;

    procedure FormCreate(Sender: TObject);

    procedure CB1Change(Sender: TObject);

    procedure CB2Change(Sender: TObject);

    procedure RB1Click(Sender: TObject);

    procedure RB2Click(Sender: TObject);

    procedure cmdApplyClick(Sender: TObject);

    procedure cmdAllClick(Sender: TObject);

    procedure DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure N1Click(Sender: TObject);

    procedure N3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1; 

implementation 

uses Unit2, Unit3; 

{$R *.dfm} 

procedure TForm1.FormCreate(Sender: TObject);

  var

    sql_str:string;

begin

  sql_str:='SELECT * FROM Katalog';

  Query1.SQL.Clear;

  Query1.SQL.Add(sql_str);

  Query1.Open;

  Query1.First;

  while not Query1.Eof do

    begin

      CB1.Items.Add(Query1.FieldByName('AVTO').AsString);

      Query1.Next;

    end;

  CB1.ItemIndex:=0;

  CB1Change(Sender);

end; 

procedure TForm1.CB1Change(Sender: TObject);

  var

    sql_str,tip:string;

    i:byte;

    bFind:bool;

begin

  CB2.Clear;

  CB2.Items.Add('Все типы');

  sql_str:='SELECT * FROM '+CB1.Text;

  Query1.SQL.Clear;

  Query1.SQL.Add(sql_str);

  try

  Query1.Open;

  except

    on EDBEngineError do

      exit;

  end;

  Query1.First;

  while not Query1.Eof do

    begin

      bFind:=false;

      tip:=Query1.FieldByName('Tip_kyzova').AsString;

      for i:=0 to CB2.Items.Count-1 do

        if CB2.Items.Strings[i]=tip then

          begin

            bFind:=true;

            break;

          end;

        if bFind=false then CB2.Items.Add(tip);

      Query1.Next;

    end;

  CB2.ItemIndex:=0;

end; 

procedure TForm1.CB2Change(Sender: TObject);

  var

    sql_str:string;

begin

  if CB2.Text='Все типы' then

    sql_str:='SELECT * FROM '+CB1.Text

  else

    sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.Text);

  Query1.SQL.Clear;

  Query1.SQL.Add(sql_str);

  Query1.Open;

end; 

procedure TForm1.RB1Click(Sender: TObject);

begin

  txtYear.Enabled:=false;

  Label5.Enabled:=false;

  txtOt.Enabled:=true;

  txtDo.Enabled:=true;

  Label3.Enabled:=true;

  Label4.Enabled:=true;

  txtOt.SetFocus;

end; 

procedure TForm1.RB2Click(Sender: TObject);

begin

  txtOt.Enabled:=false;

  txtDo.Enabled:=false;

  Label3.Enabled:=false;

  Label4.Enabled:=false;

  txtYear.Enabled:=true;

  Label5.Enabled:=true;

  txtYear.SetFocus;

end; 

procedure TForm1.cmdApplyClick(Sender: TObject);

  var

    sql_str:string;

begin

  Query1.SQL.Clear;

  if RB1.Checked then

    if CB2.Text='Все типы' then

      sql_str:='SELECT * FROM '+CB1.Text+

      ' WHERE Data_vipyska BETWEEN '+QuotedStr(txtOt.Text)+' AND '+QuotedStr(txtDo.Text)

    else

      sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.Text)+

      'AND Data_vipyska BETWEEN '+QuotedStr(txtOt.Text)+' AND '+QuotedStr(txtDo.Text)

  else

    if CB2.Text='Все типы' then

      sql_str:='SELECT * FROM '+CB1.Text+' WHERE Data_vipyska='+QuotedStr(txtYear.Text)

    else

      sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.Text)+

      'AND Data_vipyska='+QuotedStr(txtYear.Text);

  Query1.SQL.Add(sql_str);

  Query1.Open;

end; 

procedure TForm1.cmdAllClick(Sender: TObject);

begin

  CB2Change(Sender);

end; 

procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

  var

    p:TPoint;

begin

  GetCursorPos(p);

Информация о работе Автоматизация автосалона