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

📄 bookin.pas

📁 本图书管理系统一sql server为数据库开发平台
💻 PAS
📖 第 1 页 / 共 2 页
字号:
            edit6.Enabled:=true;
            speedbutton1.Enabled:=true;
            edit3.SetFocus;
          end;    //>0 else
      end;
       if label9.Caption <> ''then
         with  data.PublicQuery do
         begin                         //显示详单
           close;
           SQL.Clear;
           sql.Add('select BillID 单号,BookID 编号,BookName 书名,Indate 入库日期,InNumber 入库数量,HandMan 经手人,price 单价,sumprice 总额 from '+label9.Caption);
           open;
         end;
    end; //  begin
  except
    if label9.Caption<>'' then
    begin                                 //删除临时表
      data.ADOCommand1.CommandText:='delete table '+label9.Caption;
      data.ADOCommand1.Execute;
    end;
    label9.Caption:='';
  end;
end;

procedure TBookInform.clearedit(value:boolean);
var
  i:integer;
begin
  for i:=0 to panel1.ControlCount-1 do
  begin
    if (panel1.Controls[i])is  Tedit then
    begin
      (panel1.Controls[i] as Tedit).Clear;
      (panel1.Controls[i] as Tedit).enabled:=value;
    end;
  end;
end;

procedure TBookInForm.DBGrid1CellClick(Column: TColumn);
begin
  clearedit(true);
  edit1.Enabled:=false;
  edit2.Enabled:=false;
  edit4.Enabled:=False;
  Edit6.Enabled:=False;
  if data.PublicQuery.Active then
    begin
      with data.PublicQuery do
      begin
        Edit1.text:=fieldbyname('编号').AsString;
        Edit3.Text:=fieldbyname('书名').AsString;
        edit5.Text:=inttostr(fieldbyname('入库数量').asinteger);
        edit7.Text:=fieldbyname('经手人').asstring;
        edit4.Text:=fieldbyname('单价').asstring;
        edit6.Text:=fieldbyname('总额').asstring;
      end;
      speedbutton1.Enabled:=true;
      insertorchange:=true;
   end;
end;

procedure TBookInForm.SpeedButton1Click(Sender: TObject);
begin
  if (trim(edit5.Text) ='')or (trim(edit4.Text) ='')or (trim(edit6.Text) ='') or (trim(edit1.Text)='') or(trim(edit3.Text)='')then
  begin
    myshowmessage('请详细填写资料!');
    exit;
  end;
  with data.SellQuery do
  begin
  if not insertorchange then
  begin
    close;
    sql.Clear;
    sql.Add('insert into '+label9.Caption);
    sql.Add(' (BillID,BookID,BookName,Indate,InNumber,HandMan,Price,SumPrice,worker) ');
    sql.Add('values(:BillID,:BookID,:BookName,:indate,:InNumber,:HandMan,:Price,:SumPrice,:worker)');
    parameters.ParamByName('BillID').Value:=label9.Caption;
    parameters.ParamByName('BookID').Value:=edit1.text;
    parameters.ParamByName('BookName').Value:=Edit3.Text;
    if  trim(edit6.Text)<>'' then
      parameters.ParamByName('InNumber').Value:=strtoint(edit5.Text)
    else
      parameters.ParamByName('InNumber').Value:=1;
      parameters.ParamByName('Indate').Value:=date;
    if  trim(edit6.Text)<>'' then
      parameters.ParamByName('SumPrice').Value:=strtofloat(edit6.Text)
    else
      parameters.ParamByName('SumPrice').Value:=0;
    if  trim(edit4.Text)<>'' then
      parameters.ParamByName('Price').Value:=strtofloat(edit4.Text)
    else
      parameters.ParamByName('Price').Value:=0;
    parameters.ParamByName('HandMan').Value:=edit7.Text;
    parameters.ParamByName('worker').Value:=main.userPurview.username;
    execsql;
       //booksave
    close;
    sql.Clear;
    sql.Add('insert into booksave (ID,barcode,BookName,Price,BookSum,SumInStore)');
    sql.Add(' values(:ID,:barcode,:BookName,:Price,0,0)');
    parameters.ParamByName('ID').Value:=edit1.text;
    parameters.ParamByName('barcode').Value:=edit2.Text;
    parameters.ParamByName('BookName').Value:=Edit3.Text;
    if  trim(edit4.Text)<>'' then
      parameters.ParamByName('Price').Value:=strtofloat(edit4.Text)
    else
    parameters.ParamByName('Price').Value:=0;
    execsql;
    close;
    sql.Clear;
    sql.Add('insert into bookinfo (BookId,barcode,BookName)');
    sql.Add(' values(:ID,:barcode,:BookName)');
    parameters.ParamByName('ID').Value:=edit1.text;
    parameters.ParamByName('barcode').Value:=edit2.Text;
    parameters.ParamByName('BookName').Value:=Edit3.Text;
    execsql;
    speedbutton2.Enabled:=true;
    end
    else
      begin
        close;
        sql.Clear;
        sql.Add('update '+label9.Caption+' set InNumber=:ruku,Price=:price,HandMan=:hum,SumPrice=:sum where bookid=:ID');
        parameters.ParamByName('ruku').Value:=strtoint(edit5.Text);
        parameters.ParamByName('price').Value:=strtofloat(edit4.Text);
        parameters.ParamByName('hum').Value:=edit7.Text;
        parameters.ParamByName('sum').Value:=edit6.Text;
        parameters.ParamByName('ID').Value:=edit1.Text;
        execsql;
      end;
    end;
  speedbutton1.Enabled:=false;
  insertorchange:=false;
  clearedit(false);
  edit7.Text:=main.userPurview.username;
  edit2.Enabled:=true;
  with  data.PublicQuery do
  begin
    close;
    SQL.Clear;
    sql.Add('select BillID 单号,BookID 编号,BookName 书名,Indate 入库日期,InNumber 入库数量,HandMan 经手人,price 单价,sumprice 总额 from '+label9.Caption);
    open;
  end;
  edit2.SetFocus;
end;

procedure TBookInForm.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in ['0'..'9','.',char(VK_BACK),#13]) then
   key:=#0;
 if key=#13 then
   edit5.SetFocus;
end;

procedure TBookInForm.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9',char(VK_BACK),#13]) then
    key:=#0;
  if key=#13 then
  begin
    if Edit5.Text<>'' then
    begin
      try
        strtoint(edit5.Text);
      except
        Myshowmessage('请输入数字');
        exit;
      end;
      if fond then
      begin
        with data.PublicQuery do
        begin
          if Active and (RecordCount>0)then
          Begin
             edit;
             fieldbyname('入库数量').AsInteger:=strtoint(edit5.Text);
             post;
             clearedit(false);
             edit7.Text:=main.userPurview.username;
             edit2.Enabled:=true;
             edit2.SetFocus;
          End;
        end;
      end;
      if edit6.Enabled then
      Edit6.SetFocus;
    end;
  end;
end;

procedure TBookInForm.SpeedButton2Click(Sender: TObject);
begin
  clearedit(false);
  edit7.Text:=main.userPurview.username;
  edit2.Enabled:=true;
  try
    with data.PublicQuery do
    begin
      close;
      sql.Clear;
      sql.Add('insert into bookin select BillID,BookID,BookName,Price,InNumber,SumPrice,Indate,HandMan,worker from '+label9.Caption);
      execsql;
    end;
  finally
    with data.SellQuery do
    begin
      close;
      sql.Clear;
      sql.Add('Drop table '+label9.Caption);
      execsql;
    end;
    label9.Caption:='';
  end;
  speedbutton2.Enabled:=false;
  Label9.Caption:='';
  Edit2.SetFocus;
end;

procedure TBookInForm.SpeedButton3Click(Sender: TObject);
begin
  close;
end;

procedure TBookInForm.FormShow(Sender: TObject);
begin
  data.PublicQuery.Close;
  data.LendQuery.Close;
  data.SellQuery.Close;
  Edit2.SetFocus;
  Edit7.Text:=main.userPurview.username;
end;

procedure TBookInForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    edit3.SetFocus;
end;

procedure TBookInForm.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    edit4.SetFocus;
end;

procedure TBookInForm.FormDestroy(Sender: TObject);
begin
  if label9.Caption<>'' then
  begin
    with data.PublicQuery do
    begin
      close;
      sql.Clear;
      sql.Add('Drop table '+label9.Caption);
      execsql;
    end;
  end;
  data.PublicQuery.Close;
  data.SellQuery.Close;
  data.LendQuery.Close;
end;

procedure TBookInForm.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in ['0'..'9','.',char(VK_BACK),#13]) then
   key:=#0;
  if key=#13 then
    speedbutton1click(speedbutton1);
end;

procedure TBookInForm.Edit5Change(Sender: TObject);
begin
  if (Trim(edit4.Text)<>'') and (Trim(Edit5.Text)>'') then
  begin
    try
      Edit6.Text:=Floattostr(Strtofloat(edit4.Text)*Strtofloat(Edit5.Text));
    Except
      Edit6.Text:='';
      MyShowMessage('价格计算错误!!');
    end;
  end;
end;

end.

⌨️ 快捷键说明

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