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

📄 uinsert.~pas

📁 在公司做的一个小的系统源代码
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit Uinsert;

interface

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

type
  Tfrminsert = class(TForm)
    Label5: TLabel;
    DBGrid1: TDBGrid;
    adoqzbcg: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Sptnsave: TSpeedButton;
    Sptnadd: TSpeedButton;
    Sptnxiugai: TSpeedButton;
    Sptncopy: TSpeedButton;
    Sptndelete: TSpeedButton;
    Sptnclose: TSpeedButton;
    Panel2: TPanel;
    edtscqy: TRichEdit;
    Label1: TLabel;
    Label6: TLabel;
    edtypmc: TRichEdit;
    Label11: TLabel;
    edtspm: TRichEdit;
    Label13: TLabel;
    edtjx: TRichEdit;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    edtfwdw: TEdit;
    DateTimePicker1: TDateTimePicker;
    edtzlcc: TRichEdit;
    Label12: TLabel;
    Label9: TLabel;
    edtdw: TRichEdit;
    Label8: TLabel;
    Label7: TLabel;
    edtgg: TRichEdit;
    Label14: TLabel;
    edtwh: TRichEdit;
    Label16: TLabel;
    Label15: TLabel;
    Label17: TLabel;
    ADOQuery2: TADOQuery;
    edtlsjg: TEdit;
    Label2: TLabel;
    procedure SptnaddClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SptnsaveClick(Sender: TObject);
    procedure SptndeleteClick(Sender: TObject);
    procedure SptnxiugaiClick(Sender: TObject);
    procedure SptncloseClick(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure edtlsjgExit(Sender: TObject);
    procedure SptncopyClick(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure edtscqyKeyPress(Sender: TObject; var Key: Char);
    procedure edtwhKeyPress(Sender: TObject; var Key: Char);
    procedure edtypmcKeyPress(Sender: TObject; var Key: Char);
    procedure edtspmKeyPress(Sender: TObject; var Key: Char);
    procedure edtjxKeyPress(Sender: TObject; var Key: Char);
    procedure edtggKeyPress(Sender: TObject; var Key: Char);
    procedure edtdwKeyPress(Sender: TObject; var Key: Char);
    procedure edtzlccKeyPress(Sender: TObject; var Key: Char);
    procedure edtlsjgKeyPress(Sender: TObject; var Key: Char);
    procedure edtscqyMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtwhMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtypmcMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtspmMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtjxMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtggMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtdwMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtlsjgMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure edtzlccMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure edtscqyKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtypmcKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtspmKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtjxKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtggKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtdwKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtzlccKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtlsjgKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormResize(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure edtscqyChange(Sender: TObject);
    procedure edtypmcChange(Sender: TObject);
    procedure edtjxChange(Sender: TObject);
    procedure edtspmChange(Sender: TObject);
    procedure edtggChange(Sender: TObject);
    procedure edtdwChange(Sender: TObject);
    procedure edtlsjgChange(Sender: TObject);
    procedure edtzlccChange(Sender: TObject);
    procedure edtwhChange(Sender: TObject);
    procedure edtwhKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    insertflag:boolean;

  public
    { Public declarations }
      k,j,l:integer;  //j记录修改当前序号,如果相等则刷新颜色
  end;                //k记录删除当前序号,如果相等则刷新颜色
                      //l记录复制当前序号,如果相等则刷新颜色
var
  frminsert: Tfrminsert;

implementation

uses Udm, Ulgb,  Uxiugai;

{$R *.dfm}

procedure Tfrminsert.SptnaddClick(Sender: TObject);
begin
  sptnsave.Enabled:=true;
  label15.Visible:=true;
  label17.Visible:=true;
  label16.Visible:=true;
  label15.caption:='要增加的药品编号';
  label17.caption:='为:';
  adoqopen(adoquery1,'select  zbcgb.* ,zzjjgb.jgmc as jgmc from zzjjgb,zbcgb where zzjjgb.jgbm=zbcgb.jgbm order by id');
  adoquery1.last ;
  label16.Caption:=inttostr(adoquery1.fieldbyname('id').Asinteger+1);
  adoqopen(adoqzbcg,'select  zbcgb.* ,str(zbcgb.zblsj,10,2) as jg,zzjjgb.jgmc as jgmc from zzjjgb,zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+'and zzjjgb.jgbm=zbcgb.jgbm order by id');
  adoqzbcg.Last;
  if DataSource1.DataSet.RecordCount<>0 then
 begin
 edtscqy.Text :=adoqzbcg.fieldbyname('scqy').asstring;
 edtfwdw.Text:=adoqzbcg.fieldbyname('jgmc').asstring;
 edtwh.text:=adoqzbcg.fieldbyname('wh').asstring;
 edtypmc.text:=adoqzbcg.fieldbyname('ypmc').asstring;
 edtspm.text:=adoqzbcg.fieldbyname('spm').asstring;
 edtjx.text:=adoqzbcg.fieldbyname('jx').asstring;
 edtgg.text:=adoqzbcg.fieldbyname('gg').asstring;
 edtdw.text:=adoqzbcg.fieldbyname('dw').asstring;
 edtzlcc.text:=adoqzbcg.fieldbyname('zlcc').asstring;
 if (adoqzbcg.fieldbyname('zblsj').AsString) <>'' then
 edtlsjg.Text:=formatfloat('0.00',strtofloat(adoqzbcg.fieldbyname('zblsj').AsString))
 else
  edtlsjg.Text:='';
 DateTimePicker1.DateTime:=(adoqzbcg.fieldbyname('zbrq').AsDateTime);
 insertflag:=false;
 end
 else
 begin
 edtfwdw.Text:=gjgmc+'物价局';
 DateTimePicker1.DateTime:=now;
 end;
end;  

procedure Tfrminsert.FormCreate(Sender: TObject);
begin
 insertflag:=false;
 adoqopen(adoqzbcg,'select  zbcgb.* ,str(zblsj,10,2) as jg, zzjjgb.jgmc as jgmc from zzjjgb,zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+'and zzjjgb.jgbm=zbcgb.jgbm order by id');
 adoqzbcg.Last;
 edtscqy.Text :=adoqzbcg.fieldbyname('scqy').asstring;
 edtfwdw.Text:=gjgmc+'物价局';
 edtwh.text:=adoqzbcg.fieldbyname('wh').asstring;
 edtypmc.text:=adoqzbcg.fieldbyname('ypmc').asstring;
 edtspm.text:=adoqzbcg.fieldbyname('spm').asstring;
 edtjx.text:=adoqzbcg.fieldbyname('jx').asstring;
 edtgg.text:=adoqzbcg.fieldbyname('gg').asstring;
 edtdw.text:=adoqzbcg.fieldbyname('dw').asstring;
 edtzlcc.text:=adoqzbcg.fieldbyname('zlcc').asstring;
  if  adoqzbcg.fieldbyname('zblsj').asstring<>'' then
 edtlsjg.Text:=formatfloat('0.00',strtofloat(adoqzbcg.fieldbyname('zblsj').asstring))
 else
 edtlsjg.Text:='';
 DateTimePicker1.DateTime:=(adoqzbcg.fieldbyname('zbrq').AsDateTime);
 sptnsave.Enabled:=false;
 edtfwdw.Enabled:=false;
 if DataSource1.DataSet.RecordCount=0 then
 begin
  sptnxiugai.Enabled:=false;
  sptncopy.Enabled:=false;
  sptndelete.Enabled:=false;
  edtfwdw.Text:=gjgmc+'物价局';
  DateTimePicker1.DateTime:=now;
  end;
  label15.Visible:=false;
  label16.Visible:=false;
  label17.Visible:=false;
end;

procedure Tfrminsert.SptnsaveClick(Sender: TObject);
begin
if (edtscqy.text='') or (edtypmc.text='') then
  application.MessageBox('生产企业和药品名称不能为空!','系统提示',mb_ok + mb_iconinformation)
else
  begin
  adoqopen(adoquery2,'select max(id) as id from zbcgb');
  if (insertflag=false) and  (DataSource1.DataSet.RecordCount<>0) then
  if application.messagebox(pchar('要保存的药品编号为'+inttostr(adoquery2.fieldbyname('id').AsInteger+1)+#13+'与序号为'+inttostr(datasource1.DataSet.Fields[0].asinteger)+#13+'的信息完全一致'+#13+'是否保存?'),'系统提示',mb_okcancel+mb_iconinformation)=idok then
   begin
 adoqopen(adoquery1,'select  *  from zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+ 'order by id');
 adoquery1.append;
 adoquery1.fieldbyname('id').asinteger:=adoquery2.fieldbyname('id').asinteger+1;
 adoquery1.fieldbyname('scqy').asstring:=edtscqy.text;
 adoquery1.fieldbyname('wh').asstring:=edtwh.text;
 adoquery1.fieldbyname('ypmc').asstring:=edtypmc.text;
 adoquery1.fieldbyname('spm').asstring:=edtspm.text;
 adoquery1.fieldbyname('jx').asstring:=edtjx.text;
 adoquery1.fieldbyname('gg').asstring:=edtgg.text;
 adoquery1.fieldbyname('dw').asstring:=edtdw.text;
 adoquery1.fieldbyname('zlcc').asstring:=edtzlcc.text;
 adoqopen(adoquery2,'select * from ypjgk where ypm='+#39+trim(edtypmc.Text)+#39);
 if adoquery2.RecordCount=0 then
 adoquery1.fieldbyname('glfs').asstring:='市场调节'
 else
 adoquery1.fieldbyname('glfs').asstring:='政府定价';
if edtlsjg.Text='' then
   adoquery1.fieldbyname('zblsj').AsFloat:=strtofloat('0.00')
 else
 adoquery1.fieldbyname('zblsj').Asfloat:=strtofloat(edtlsjg.Text);
 adoquery1.fieldbyname('zbrq').Asstring:=datetostr(DateTimePicker1.DateTime);
 adoquery1.FieldByName('jgbm').AsString:=gjgbm;
 adoquery1.post;
 adoqopen(adoqzbcg,'select  zbcgb.* ,str(zblsj,10,2) as jg,zzjjgb.jgmc as jgmc from zzjjgb,zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+'and zzjjgb.jgbm=zbcgb.jgbm order by id');
 adoqzbcg.Last;
 dbgrid1.Refresh;
 application.messagebox('数据保存成功!','系统提示',mb_ok+mb_iconinformation) ;
 sptnsave.Enabled:=false;
 insertflag:=false;
 end
 else
  begin
  sptnsave.Enabled:=false;
  insertflag:=false;
  end;
 if (insertflag=true) or(DataSource1.DataSet.RecordCount=0) then
 begin
 adoqopen(adoquery2,'select max(id) as id from zbcgb');
 application.messagebox(pchar('要保存的药品编号为'+inttostr(adoquery2.fieldbyname('id').AsInteger+1)+#13+'生产企业为:'+trim(edtscqy.text)+#13+'药品名为:'+trim(edtypmc.text)),'系统提示',mb_ok+mb_iconexclamation) ;
  adoqopen(adoquery1,'select  *  from zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+ 'order by id');
 adoquery1.append;
 adoquery1.fieldbyname('id').asinteger:=adoquery2.fieldbyname('id').asinteger+1;
 adoquery1.fieldbyname('scqy').asstring:=edtscqy.text;
 adoquery1.fieldbyname('wh').asstring:=edtwh.text;
 adoquery1.fieldbyname('ypmc').asstring:=edtypmc.text;
 adoquery1.fieldbyname('spm').asstring:=edtspm.text;
 adoquery1.fieldbyname('jx').asstring:=edtjx.text;
 adoquery1.fieldbyname('gg').asstring:=edtgg.text;
 adoquery1.fieldbyname('dw').asstring:=edtdw.text;
 adoquery1.fieldbyname('zlcc').asstring:=edtzlcc.text;
  adoqopen(adoquery2,'select * from ypjgk where ypm='+#39+trim(edtypmc.Text)+#39);
 if adoquery2.RecordCount=0 then
 adoquery1.fieldbyname('glfs').asstring:='市场调节'
 else
 adoquery1.fieldbyname('glfs').asstring:='政府定价';
 if trim(edtlsjg.Text)='' then
   adoquery1.fieldbyname('zblsj').AsFloat:=strtofloat('0.00')
 else
    adoquery1.fieldbyname('zblsj').Asfloat:=strtofloat(edtlsjg.Text);
  adoquery1.fieldbyname('zbrq').Asstring:=datetostr(DateTimePicker1.DateTime);
  adoquery1.FieldByName('jgbm').AsString:=gjgbm;
  adoquery1.Post;
  adoqopen(adoqzbcg,'select  zbcgb.* ,str(zblsj,10,2) as jg,zzjjgb.jgmc as jgmc from zzjjgb,zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+'and zzjjgb.jgbm=zbcgb.jgbm order by id');
  adoqzbcg.Last;
  dbgrid1.Refresh;
  application.messagebox('数据保存成功!','系统提示',mb_ok+mb_iconinformation) ;
  sptnsave.Enabled:=false;
  insertflag:=false;
 end;
 label15.Visible:=false;
 label16.Visible:=false;
 label17.Visible:=false;
 end;
 if DataSource1.DataSet.RecordCount<>0 then
begin
 sptnxiugai.Enabled:=true;
 sptncopy.Enabled:=true;
 sptndelete.Enabled:=true;
end;
end;
procedure Tfrminsert.SptndeleteClick(Sender: TObject);
begin
 adoqopen(adoquery1,'select * from zbcgb'); //
 adoquery1.Close;   //上两行连接测试
label15.Visible:=false;
 label16.Visible:=false;
 label17.Visible:=false;
 sptnsave.Enabled:=false;
 k:=adoqzbcg.RecNo;//当前操作记录号(序号)
 dbgrid1.Refresh;
 if application.messagebox(Pchar('确实要删除序号为  '+inttostr(datasource1.DataSet.Fields[0].asinteger)+#13
         +'生产企业为:'+adoqzbcg.fieldbyname('scqy').asstring+#13+'药品名为:'+adoqzbcg.fieldbyname('ypmc').asstring+#13+'的药品吗?'), '系统提示',mb_okcancel+mb_iconexclamation)=idok then
  begin
  sptnsave.Enabled:=false;
  adoqopen(adoquery1,'select  *  from zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39);
  adoquery1.SQL.Add('delete zbcgb where id='+inttostr(datasource1.DataSet.Fields[0].asinteger));
  adoquery1.ExecSQL;
  adoqopen(adoqzbcg,'select  zbcgb.* ,str(zblsj,10,2) as jg,zzjjgb.jgmc as jgmc from zzjjgb,zbcgb where zbcgb.jgbm ='+#39+gjgbm+#39+'and zzjjgb.jgbm=zbcgb.jgbm order by id');
  adoqzbcg.MoveBy(k-1);
 if DataSource1.DataSet.RecordCount=0 then
 begin
 sptnxiugai.Enabled:=false;
 sptncopy.Enabled:=false;
 sptndelete.Enabled:=false;
 edtscqy.text:='';
 edtypmc.text:='';
 edtjx.text:='';
 edtspm.text:='';
 edtgg.text:='';
 edtdw.text:='';
 edtlsjg.Text:='';
 edtzlcc.Text:='';
 edtwh.Text:='';
 edtscqy.SetFocus;
 sptnsave.Enabled:=false;
  k:=0;
 end;
  k:=0;
 dbgrid1.Refresh;
 end
 else
    begin
    k:=0;
    dbgrid1.Refresh
    end;
 end;
procedure Tfrminsert.SptnxiugaiClick(Sender: TObject);
begin
   adoqopen(adoquery1,'select * from zbcgb');
   adoquery1.Close;   //上两行连接测试
   sptnsave.Enabled:=false;
   label15.Visible:=false;
   label16.Visible:=false;
   label17.Visible:=false;
   gxiugaibz:=true;
   j:=adoqzbcg.RecNo;//当前操作记录号(序号)
   dbgrid1.Refresh;
   application.CreateForm(tfrmxiugai,frmxiugai);
 with  adoqzbcg do
  begin
    frmxiugai.edtscqy.Text:=trim(fieldbyname('scqy').AsString) ;
    frmxiugai.edtypmc.Text:=trim(fieldbyname('ypmc').AsString);
    frmxiugai.edtspm.Text:=trim(fieldbyname('spm').AsString);
    frmxiugai.edtwh.Text:=trim(fieldbyname('wh').AsString);
    frmxiugai.edtjx.Text:=trim(fieldbyname('jx').AsString);
    frmxiugai.edtgg.Text:=trim(fieldbyname('gg').AsString);
    frmxiugai.edtdw.Text:=trim(fieldbyname('dw').AsString);
    frmxiugai.dateTimePicker1.DateTime:=fieldbyname('zbrq').value;
    if  fieldbyname('zblsj').asstring<>'' then
     frmxiugai.edtzblsj.Text:=formatfloat('0.00',strtofloat(fieldbyname('zblsj').asstring))
     else
     frmxiugai.edtzblsj.Text:='';
    frmxiugai.edtzlcc.Text:=trim(fieldbyname('zlcc').AsString);
    frmxiugai.combobox1.Text:=trim(fieldbyname('glfs').AsString);
end;
 frmxiugai.ShowModal ;
dbgrid1.Refresh;
end;

procedure Tfrminsert.SptncloseClick(Sender: TObject);
begin
 if (sptnsave.Enabled)  and (insertflag=true) then
    if application.messagebox(Pchar('有序号为 '+inttostr(datasource1.DataSet.Fields[0].asinteger+1)+#13
         +'生产企业为:'+edtscqy.text+#13+'药品名为:'+edtypmc.text+#13+'的新增药品未保存,是否保存?'), '系统提示',mb_okcancel+mb_iconexclamation)=idok then
  // if Messagebox(GetforegroundWindow,'有数据没保存,是否保存?','系统信息', mb_okcancel+mb_iconinformation)=idok then
   begin
   sptnsave.Click;
   end;
  adoquery1.Close;
  close;
  insertflag:=false;
end;

procedure Tfrminsert.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  with adoqzbcg do begin
  if  (adoqzbcg.RecNo =j)then
     begin
       dbgrid1.Canvas.Brush.color:=clgreen;
     end;
     //////////////////////
     if ( adoqzbcg.RecNo =k) then
     begin
      dbgrid1.Canvas.Brush.color:=clred;
     end;
  if (adoqzbcg.RecNo =l) then
     begin
       dbgrid1.Canvas.Brush.Color:=clyellow;
       dbgrid1.Canvas.Font.Color:=clnavy;

     end ;
   end;
  dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
end;

procedure Tfrminsert.edtlsjgExit(Sender: TObject);
var
  s1:real;
begin
if edtlsjg.text<>'' then
begin
s1:=strtofloat(edtlsjg.Text );
edtlsjg.Text:= FormatFloat( '0.00', s1) ;
end;
end;
procedure Tfrminsert.SptncopyClick(Sender: TObject);
begin
  label15.Visible:=true;
  label17.Visible:=true;
  label16.Visible:=true;
  label15.caption:='要增加的药品编号';
  label17.caption:='为:';

⌨️ 快捷键说明

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