⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatecar.pas

📁 管理车队用车记录
💻 PAS
字号:
unit updatecar;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, Grids, DBGrids;

type
  TForm_updatecar = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    ComboBox1: TComboBox;
    BitBtn4: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label7: TLabel;
    Edit5: TEdit;
    Label8: TLabel;
    DBGrid1: TDBGrid;
    Label10: TLabel;
    Edit6: TEdit;
    Label11: TLabel;
    Edit7: TEdit;
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Enter(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit6KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1TitleClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_updatecar: TForm_updatecar;

implementation
uses dm, adddriver;
{$R *.dfm}

procedure TForm_updatecar.FormShow(Sender: TObject);
begin
form_dm.ADOQuery_car.SQL.Text:='select A.* ,B.driver_name from  (select * from car)A left join (select driver_name,car_id from driver_car)B on A.id=B.car_id;';
form_dm.ADOQuery_car.Active:=true;
dbgrid1.Refresh;
with form_dm.ADOtable_driver do
        begin
        open;
        first;
        combobox1.Items.Clear;
        repeat
            combobox1.Items.Add(form_dm.ADOtable_driver.fieldbyname('name').AsString);
            form_dm.ADOtable_driver.Next;
        until eof;
        end;
edit1.text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
datetimepicker1.DateTime:=now;
combobox1.text:='';
end;

procedure TForm_updatecar.ComboBox1Enter(Sender: TObject);
begin
with form_dm.ADOtable_driver do
        begin
        open;
        first;
        combobox1.Items.Clear;
        repeat
            combobox1.Items.Add(form_dm.ADOtable_driver.fieldbyname('name').AsString);
            form_dm.ADOtable_driver.Next;
        until eof;
        end;
end;

procedure TForm_updatecar.DBGrid1CellClick(Column: TColumn);
begin
edit1.Text:=dbgrid1.Fields[0].Text;
edit2.Text:=dbgrid1.Fields[1].Text;
edit3.Text:=dbgrid1.Fields[2].Text;
edit4.Text:=dbgrid1.Fields[3].Text;
edit5.Text:=dbgrid1.Fields[4].Text;
edit6.Text:=dbgrid1.Fields[7].Text;
edit7.Text:=dbgrid1.Fields[8].Text;
datetimepicker1.Date:=strtodate(dbgrid1.Fields[5].Text);
combobox1.Text:=dbgrid1.Fields[6].Text;
end;

procedure TForm_updatecar.BitBtn2Click(Sender: TObject);
begin
  if trim(edit1.text)='' then
begin
  showmessage('请选择你要删除的车辆!');
  abort;
end;
if Application.MessageBox('确定要删除该车辆','系统提示',MB_YESNO)=idyes then
begin
with form_dm.ADOTable_car do
begin
  try
    open;
    locate('id',trim(edit1.Text),[]);
    Delete;
  except
    showmessage('删除车辆失败!');
    abort;
  end;
end;
form_dm.ADOTable_driver_car.open;
if form_dm.ADOTable_driver_car.Locate('car_id',trim(edit1.text),[]) then
begin

  form_dm.ADOTable_driver_car.Delete;

end;
  form_dm.ADOTable_driver_car.close;
form_dm.adoquery_car.Close;
form_dm.adoquery_car.open;
dbgrid1.Refresh;
showmessage('删除成功!');
edit1.text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
datetimepicker1.DateTime:=now;
combobox1.text:='';
end;
end;

procedure TForm_updatecar.BitBtn3Click(Sender: TObject);
begin
close;
end;

procedure TForm_updatecar.BitBtn4Click(Sender: TObject);
begin
form_adddriver.showmodal;
end;

procedure TForm_updatecar.BitBtn1Click(Sender: TObject);
begin
if edit1.Text='' then
begin
 showmessage('车牌号不能为空!');
 edit1.SetFocus;
  abort;
end;
if edit2.Text='' then
begin
 showmessage('车类型不能为空!');
 edit2.SetFocus;
  abort;
end;
if edit3.Text='' then
begin
 showmessage('原始公里不能为空!');
 edit3.SetFocus;
  abort;
end;
if edit4.Text='' then
begin
 showmessage('行驶证号不能为空!');
 edit4.SetFocus;
  abort;
end;
if edit5.Text='' then
begin
 showmessage('标准油耗不能为空!');
 edit5.SetFocus;
  abort;
end;
if edit6.Text='' then
begin
 showmessage('每公里单价不能为空!');
 edit6.SetFocus;
  abort;
end;
if edit6.Text='' then
begin
 showmessage('公里补贴不能为空!');
 edit6.SetFocus;
  abort;
end;
if combobox1.Text='' then
begin
 showmessage('驾驶员不能为空!');
 combobox1.SetFocus;
  abort;
end;
if Application.MessageBox('确定要修改该车辆信息吗?','系统提示',MB_YESNO)=idyes then
  begin
    with form_dm.ADOTable_car do
      begin
        Open;
        try
        Locate('id',trim(edit1.Text),[]);
        except
        showmessage('没有找到要修改的车辆!');
        abort;
        end;
        edit;
        fieldbyname('type').AsString:=trim(edit2.Text);
        fieldbyname('km').AsFloat:=strtofloat(edit3.Text);
        fieldbyname('price').AsFloat:=strtofloat(edit6.Text);
        fieldbyname('runid').AsString:=trim(edit4.Text);
        fieldbyname('oilconsume').asfloat:=strtofloat(edit5.Text);
        fieldbyname('glj').AsFloat:=strtofloat(edit7.Text);
        fieldbyname('examine').Asstring:=formatdatetime('yyyy-mm-dd',datetimepicker1.Datetime);
        post;
      end;
  with form_dm.ADOTable_driver_car do
  begin
  open;
    if locate('car_id',edit1.Text,[]) then
    begin
      delete;
    end;
    if combobox1.Text<>'' then
    begin
      if not locate('driver_name',combobox1.Text,[])then
    begin
    append;
    fieldbyname('car_id').asstring:=trim(edit1.Text);
    fieldbyname('driver_name').AsString:=trim(combobox1.Text);
    post;
    end
    else
    begin
      showmessage('车辆修改成功,但是无法为其指定驾驶员,此驾驶员已经被指定为其他车辆!');
    end;
    end;
    close;
  end;
   form_dm.adoquery_car.Close;
   form_dm.adoquery_car.open;
   showmessage('修改成功!');
  end;
end;

procedure TForm_updatecar.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
edit7.SetFocus;
end;

procedure TForm_updatecar.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
edit6.SetFocus;
end;

procedure TForm_updatecar.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
datetimepicker1.SetFocus;
end;

procedure TForm_updatecar.DBGrid1TitleClick(Column: TColumn);
var
     i:integer;
     fieldname:string;
begin//排序
     i:=Column.Index;
     if bSort=0 then
     begin
         fieldname:=DBGrid1.Columns[i].FieldName+' ASC';
         bSort:=1;
     end
     else
     begin
         fieldname:=DBGrid1.Columns[i].FieldName+' DESC';
         bSort:=0;
     end;
     form_dm.ADOquery_car.open;
     form_dm.ADOquery_car.Sort:=fieldname;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -