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

📄 bookdeliver.pas

📁 1、系统环境要求:WindowsXP/2000 2、DELPHI7.0企业版 3、如果数据库为SQL Server数据库
💻 PAS
字号:
unit bookdeliver;

interface

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

type
  Tf_bookdeliver = class(Tf_baseform)
    Label1: TLabel;
    Panel2: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Field: TComboBox;
    Value: TEdit;
    Query: TButton;
    Source: TDataSource;
    Grid1: TDBGrid;
    Panel1: TPanel;
    Label2: TLabel;
    Principal: TEdit;
    Label3: TLabel;
    Picker1: TDateTimePicker;
    Deliver: TButton;
    Cancel: TButton;
    Panel3: TPanel;
    Label4: TLabel;
    summoney: TEdit;
    procedure CancelClick(Sender: TObject);
    procedure QueryClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DeliverClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure DeliverAfterScroll(DataSet: TDataSet);
    { Public declarations }
  end;

var
  f_bookdeliver: Tf_bookdeliver;

implementation
  uses data,main;
{$R *.dfm}

procedure Tf_bookdeliver.CancelClick(Sender: TObject);
begin
  inherited;
  Principal.Clear;
  Picker1.DateTime := Now;
  Field.ItemIndex := -1;
  Value.Clear;
  Summoney.Clear;
  With t_data.deliver do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from v_deliverinfo');
    Open;
  end;
  if t_data.deliver.RecordCount >0 then
  begin
    Source.DataSet := t_data.deliver;
  end
  else
  begin
    Source.DataSet := Nil;
    t_data.deliver.Close;
  end;
end;

procedure Tf_bookdeliver.DeliverAfterScroll(DataSet: TDataSet);
begin
  if Dataset.Active then
  begin
    With t_data.Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select paymoney from tb_regdelivermaster where deliverid = :id');
      Parameters.ParamByName('id').Value := Trim(DataSet.FieldByName('deliverid').AsString);
      Open;
    end;
    Summoney.Text := FloatToStr(t_data.Query1.Fields[0].Value);
  end;
end;

procedure Tf_bookdeliver.QueryClick(Sender: TObject);
begin
  inherited;
  if Source.DataSet<>nil then
  begin
    if (Trim(Value.Text)<>'')and(Trim(Field.Text)<>'') then
    begin
      With t_data.deliver do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select * from v_deliverinfo where ');
        Case Field.ItemIndex of
          0: SQL.Add('deliverid = :value');//按配送单号查询
          1: SQL.Add('userid = :value');//按用户编号查询
          2: SQL.Add('username = :value');//按用户名称查询
          3: SQL.Add('barcode = :value');//按条形码查询
          4: SQL.Add('bookname = :value');//按书籍名称查询
        end;
        Parameters.ParamByName('Value').Value := Trim(Value.Text);
        Open;
      end;
      if t_data.deliver.RecordCount<1 then
      begin
        With t_data.deliver do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select * from v_deliverinfo');
          Open;
        end;
        Application.MessageBox('没有符合条件的记录.','提示',64);
      end;
    end;
  end
  else
    Application.MessageBox('当前没有信息可查询.','提示',64);
end;

procedure Tf_bookdeliver.FormShow(Sender: TObject);
begin
  inherited;
  t_data.Deliver.AfterScroll:= DeliverAfterScroll;
  Cancel.Click;
end;

procedure Tf_bookdeliver.DeliverClick(Sender: TObject);
var
  Connect: TADOConnection;
  Query1: TADOQuery;
begin
  inherited;
  Connect := Nil;
  Query1 := Nil;
  if Trim(Principal.Text)<>'' then
  begin
    if Source.DataSet<>Nil then
    begin
      if Application.MessageBox(Pchar('确实要配送票号为:'+ Trim(Source.DataSet.Fields[0].Value)+' 的图书信息吗?'),'提示',mb_yesno)= id_yes then
      begin
        Try
          Connect := TADOConnection.Create(nil);
          Connect.LoginPrompt := False;
          Connect.ConnectionString := t_data.Connection1.ConnectionString;
          Connect.Open;
          Query1 := TADOQuery.Create(nil);
          Query1.Connection := Connect;
          Try
            Connect.BeginTrans;
            With Query1 do
            begin
              Close;
              SQL.Clear;
              SQL.Add('update tb_regdelivermaster set isdeliver = :mark where deliverid = :id');
              Parameters.ParamByName('mark').Value := 1;
              Parameters.ParamByName('id').Value := Trim(Source.DataSet.Fields[0].Value);
              ExecSQL;
            end;
            With Query1 do
            begin
              Close;
              SQL.Clear;
              SQL.Add('Insert into tb_deliver values(:id,:principal,:operator,:time)');
              Parameters.ParamByName('id').Value := Trim(Source.DataSet.Fields[0].Value);
              Parameters.ParamByName('principal').Value := Trim(Principal.Text);
              Parameters.ParamByName('operator').Value := Trim(Username);
              Parameters.ParamByName('time').Value := Picker1.DateTime;
              ExecSQL;
            end;
            Connect.CommitTrans;
            Application.MessageBox('操作成功.','提示',64);
            Cancel.Click;
          Except
            Connect.RollbackTrans;
            Application.MessageBox('操作失败.','提示',64);
          End;
        Finally
          Query1.Free;
          Connect.Free;
        End;
      end;
    end
    else
      Application.MessageBox('当前没有图书信息可配送.','提示',64);
  end
  else
    Application.MessageBox('负责人不能为空.','提示',64);
end;

end.

⌨️ 快捷键说明

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