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

📄 updinvtd.pas

📁 拥有全套神州数码马易飞ERP源码,现上传部分源码
💻 PAS
字号:
unit updINVTD;

interface

uses sysUtils, dbtables, db, bde, updBase,CONSTDEF;

type
  TUpdateINVTD = class(TBaseUpdateUnit)
  private
    function update_byAll(xSource: Variant): Boolean;
  public
    function update(xSource: Variant; xAction: string;
           var xMsg: variant; xOtherVar: variant; xUserData: variant): Boolean;
  end;

implementation
uses LibStrs;

function TUpdateINVTD.update(xSource: Variant; xAction: string;
           var xMsg: variant; xOtherVar: variant; xUserData: variant): Boolean;
begin
  self.saveVar(xAction, xOtherVar, xUserData);
  try
    self.setDBname(xSource[0]);
    Result := update_byAll(xSource)
  finally
    self.Query1.close;
  end;
  xMsg := self.Msg;
end;

function TUpdateINVTD.update_byAll(xSource: Variant): Boolean;
var
  mExist: Boolean;
begin
  Result := True;
  self.Msg[0] := 'skip';
  self.Msg[1] := 'INVTD';
  self.Msg[2] := Format('%s %s %s %s',
                    [xSource[1], xSource[3], xSource[4],xSource[5]]);
  try
    if (self.Action = 'A') then
    begin
      with self.Query1 do
      begin
        close;
        SQL.clear;
        RequestLive := False;
        SQL.add('select * from $$INVTD');
        SQL.add(' where TD001=:TD001 and TD003=:TD003 and TD004=:TD004 and TD005=:TD005');
        ParamByName('TD001').asString := xSource[1];
        ParamByName('TD003').asString := xSource[3];
        ParamByName('TD004').asString := xSource[4];
        ParamByName('TD005').asString := xSource[5];
        open;
        first;
        mExist := not eof;
        if (not mExist)  then
        begin
          close;
          SQL.clear;
          RequestLive := False;
          SQL.add('INSERT INTO $$INVTD (TD001 ,TD002 ,TD003 ,TD004 ,TD005 ,TD006,TD007,TD008 ,TD009 ,TD010 , ');
          SQL.add(' TD011 ,TD012 ,TD013 ,COMPANY ,CREATOR ,USR_GROUP ,CREATE_DATE ,FLAG ) ');
          SQL.add('VALUES (:TD001 ,:TD002 ,:TD003 ,:TD004 ,:TD005 ,:TD006,:TD007,:TD008 ,:TD009 ,:TD010 , ');
          SQL.add(' :TD011 ,:TD012 ,:TD013 ,:COMPANY ,:CREATOR ,:USR_GROUP ,:CREATE_DATE ,1) ');
          ParamByName('TD001').asString := xSource[1];
          ParamByName('TD002').asString := xSource[2];
          ParamByName('TD003').asString := xSource[3];
          if SQLtype=dtORACLE then
            ParamByName('TD004').asString := iif(xSource[4]='','********************',xSource[4])
          else
            ParamByName('TD004').asString := xSource[4];
          ParamByName('TD005').asString := xSource[5];
          ParamByName('TD006').asFloat  := xSource[6];
          ParamByName('TD007').asFloat  := xSource[7];
          ParamByName('TD008').asFloat  := xSource[8];
          ParamByName('TD009').asString := xSource[9];
          ParamByName('TD010').asString := xSource[10];
          ParamByName('TD011').asString  := xSource[11];
          ParamByName('TD012').asString  := xSource[12];
          ParamByName('TD013').asString  := xSource[13];
          ParamByName('COMPANY').asString :=self.FCOMPANY;
          ParamByName('CREATOR').asString :=self.FCREATOR;
          ParamByName('USR_GROUP').asString :=self.FUSR_GROUP;
          ParamByName('CREATE_DATE').asString :=self.FCREATE_DATE;
          try
            TransSqlCommand(Query1);
            EXECSQL;
          except
            on E: EDBEngineError do
            begin
              if E.Errors[0].ErrorCode <> DBIERR_KEYVIOL then raise
              else //糶

⌨️ 快捷键说明

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