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

📄 ztbb.pas

📁 delphi+sql server 我是delphi的初学者
💻 PAS
字号:
unit ZTBB;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frxClass, ComCtrls, dxCntner, dxEditor, dxExEdtr, dxEdLib,
  StdCtrls, ExtCtrls;

type
  TFRMZTBB = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Edid: TEdit;
    Czt: TComboBox;
    Label2: TLabel;
    Clx: TComboBox;
    dxCurrencyEdit1: TdxCurrencyEdit;
    DateTimePicker1: TDateTimePicker;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    function zhid:Integer;
    function  list:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRMZTBB: TFRMZTBB;

implementation
USES UDM;
{$R *.dfm}
function TFRMZTBB.list;
var
  counter:Integer;
  id:string;
begin
     with DM.T_COUNTER do
     begin
      Filter:='id=''B''';
      Filtered:=true;
      open;
      counter:=fieldbyname('countervalues').AsInteger;
      inc(counter);
      edit;
      fieldbyname('countervalues').AsInteger:=counter;
      post;
      close;
     end;
     id:='000'+inttostr(counter);
     id:=copy(id,length(id)-3,4);
     id:=formatdatetime('yyyy',now)+id;
  Result:=id;
 end;
function TFRMZTBB.zhid;
 begin
  with dm.qrytemp do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select isnull(max(libnumber),0)+1 from libnumber');
      Prepared;
      Open;
    end;
    Result:=dm.qrytemp.Fields[0].AsInteger;
 end;




procedure TFRMZTBB.Button2Click(Sender: TObject);
begin
   close;
end;

procedure TFRMZTBB.FormShow(Sender: TObject);
begin
  DateTimePicker1.Date:=Date;
  Czt.Text:='';
   with dm.qrytemp do
     begin
       Close;
       SQL.Clear;
       SQL.Add('select djzt from meun_zt');
       Prepared;
       Open;
     end;
    Czt.Items.Clear;
    while not dm.qrytemp.Eof do
      begin
        Czt.Items.Append(dm.qrytemp.Fields[0].AsString);
        DM.qrytemp.Next;
      end;


   with dm.qrytemp do
     begin
       Close;
       SQL.Clear;
       SQL.Add('select typename from typeunit');
       Prepared;
       Open;
     end;
    Clx.Items.Clear;
    while not dm.qrytemp.Eof do
      begin
        Clx.Items.Append(dm.qrytemp.Fields[0].AsString);
        DM.qrytemp.Next;
      end;

end;

procedure TFRMZTBB.Button1Click(Sender: TObject);
  begin
     if (Edid.Text='') and (Czt.Text='') then
      begin
        MessageBox(Handle,'单据号码不能为空','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
        Exit;
      end;
      if not dm.ADOlibnumberls.Locate('numberid;numbertype',VarArrayOf([Edid.Text,Clx.Text]),[]) then
        begin
            try
             dm.con1.BeginTrans;
          //同时增加一个数据
         DM.ADOlibnumberls.Append;
         dm.ADOlibnumberlslibnumber.Value:=zhid;
         dm.ADOlibnumberlslist.Value:=list;
         dm.ADOlibnumberlsnumberid.Value:=EdID.Text;
         dm.ADOlibnumberlsnumbertype.Value:=Clx.Text;
         dm.ADOlibnumberlshxbz.Value:='1';
         dm.ADOlibnumberlsrq.Value:=DateTimePicker1.Date;
         dm.ADOlibnumberlslypername.AsString:=dm.hname;
         DM.ADOlibnumberlsJINE.Value:=dxCurrencyEdit1.Value;
         dm.ADOlibnumberlsA.Value:=True;
         dm.ADOlibnumberlsB.Value:=True;
         dm.ADOlibnumberlslibnumberplace.Value:=dm.ADOlibnumber.fieldbyname('libnumberplace').AsString;
         dm.ADOlibnumberlszt.Value:=Czt.Text;
         dm.ADOlibnumberlssxdm.Value:=dm.ADOlibnumber.fieldbyname('sxdm').AsString;
         dm.ADOlibnumberls.Post;

           with dm.qrytemp do
             begin
               Close;
               SQL.Clear;
               SQL.add('delete from libnumber');
               SQL.Add('where numberid=:id and numbertype=:type and libnumberplace=:place and sxdm=:dm');
               Parameters.ParamByName('id').Value:=EdID.Text;
               Parameters.ParamByName('type').Value:=Clx.Text;
               Parameters.ParamByName('place').Value:=dm.ADOlibnumber.fieldbyname('libnumberplace').AsString;
               Parameters.ParamByName('dm').Value:=dm.ADOlibnumber.fieldbyname('sxdm').AsString;
               execsql;
             end;
                dm.con1.CommitTrans;
              except
                dm.con1.RollbackTrans;
            end;
        end
        else
        begin
        ShowMessage('数据重不能录入');
        end;
        DM.ADOlibnumber.Close;
        dm.ADOlibnumber.Open;
        Close;

  end;

end.

⌨️ 快捷键说明

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