zoukankan      html  css  js  c++  java
  • 利用 TstringList 循环取数据 应用例子

     

    procedure GetData;
       var  BillNoList,ActidList:TStrings;
            i:integer;
      begin
        ActidList:=TStringList.Create();
        BillNoList:=TStringList.Create();
         with SQLQuerySrcEntityid do begin
          Open;First;
          while not Eof do begin
             ActidList.Add(FieldByName('SrcActid').asString);
             BillNoList.add(FieldByName('SrcBsbillno').asString);
            Next;
          end;
        end;
    
          with SQLQueryDss do begin
           Close;SQL.Clear;
           SQLConnection:=SQLConn;
           SQL.Add('Select distinct i.Sysid,i.SrcActid,i.SrcEntityid,a.Corpid,a.Billno,i.Srcbsbillno ');
           SQL.Add(',i.Mblno,i.Eta,i.Etd,i.Pod,i.Vsl,i.Voy,i.ContainerQty,c.Sname CorpName')
           SQL.Add(',a.Amt,(a.Amt-a.StlAmt) AmtBalance,a.FcyAmt,(a.FcyAmt-a.StlFcy) FcyBalance');
           SQL.Add('from accbillsitems i');
           SQL.Add('Left join accbills a on (a.Sysid=i.sysid and a.Entityid=i.Entityid)');
           SQL.Add('Left join Corps c on (c.sysid=a.sysid and a.corpid=c.corpid)');
           SQL.Add('where i.SysID=:Sysid ');
           SQL.Add('and SrcActid=:SrcActid');
           SQL.Add('and SrcBsbillno=:SrcBsbillNo');
             if Fcorpid<>0 then begin
                SQL.Add('and a.Corpid<>:corpid');
                ParamByName('Corpid').AsInteger:=FCorpid;
             end;
           SQL.Add('and ((a.Amt-a.Stlamt<>0) or (a.FcyAmt-a.StlFcy<>0))');
           SQL.Add('and a.ACcDc=''DR''');
    
           SQL.Add('order by i.Sysid,i.SrcActid,i.Srcbsbillno');
           ParamByName('SysID').AsInteger:=FSysID;
           Prepared:=True;
           end;
     try
        for i:=0 to BillNoList.count-1 do begin
           SQLQueryDss.close;
           SQLQueryDss.ParamByName('SrcBsbillNo').AsString:=BillNoList[i];
           SQLQueryDss.ParamByName('SrcActid').AsString:=ActidList[i];
           SQLQueryDss.Open;
           SQLQueryDss.First;
           if not (SQLQueryDss.bof and SQLQueryDss.Eof) then begin
            while Not SQLQueryDss.Eof do begin
             with Cdsdss do begin
              Append;
              FieldbyName('Sysid').AsInteger:=GetSysid;
              FieldbyName('SrcActid').AsInteger:=SQLQueryDss.FieldbyName('SrcActid').Asinteger;
              FieldbyName('SrcEntityid').AsInteger:=SQLQueryDss.FieldbyName('SrcEntityid').Asinteger;
              FieldbyName('Billno').AsString:=SQLQueryDss.FieldbyName('billNo').AsString;
              FieldbyName('Srcbsbillno').AsString:=SQLQueryDss.FieldbyName('SrcbsbillNo').AsString;
              FieldbyName('MblNo').AsString:=SQLQueryDss.FieldbyName('MblNo').AsString;
              FieldbyName('Pod').AsString:=SQLQueryDss.FieldbyName('pod').AsString;
              FieldbyName('Vsl').AsString:=SQLQueryDss.FieldbyName('vsl').AsString;
              FieldbyName('Voy').AsString:=SQLQueryDss.FieldbyName('Voy').AsString;
              FieldbyName('ContainerQty').AsString:=SQLQueryDss.FieldbyName('ContainerQty').AsString;
              FieldbyName('CorpName').AsString:=SQLQueryDss.FieldbyName('CorpName').AsString;
             
              FieldbyName('Etd').AsString:=FormatDateTime('YYYY-MM-DD',SQLQueryDss.FieldbyName('Etd').AsDateTime);
              FieldbyName('Amt').Ascurrency:=SQLQueryDss.FieldbyName('Amt').Ascurrency;
              FieldbyName('AmtBalance').Ascurrency:=SQLQueryDss.FieldbyName('AmtBalance').Ascurrency;
              FieldbyName('FcyAmt').Ascurrency:=SQLQueryDss.FieldbyName('FcyAmt').Ascurrency;
              FieldbyName('FcyBalance').Ascurrency:=SQLQueryDss.FieldbyName('FcyBalance').Ascurrency;
              Post;
             end;
             SQLQueryDss.Next;
            end;
           end;
        end;
      except
         ShowMessage(ExceptionParam);
      end;
       BillNoList.free;
       ActidList.free;
     end;
  • 相关阅读:
    AtCoder Grand Contest 013 C:Ants on a Circle
    AtCoder Grand Contest 010 C:Cleaning
    055 列表推导式
    054 三元表达式
    05 Python爬虫之信息标记与提取方法
    053 迭代器
    052 装饰器
    051 闭包函数
    04 Python爬虫之Beautiful Soup库
    03 Python爬虫之Requests网络爬取实战
  • 原文地址:https://www.cnblogs.com/CNQCJ/p/1549143.html
Copyright © 2011-2022 走看看