📄 bookdeliver.~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 + -