熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

進銷存管理系統銷售管理功能的實現(二)[3]

2013-11-23 17:41:11  來源: Delphi編程 
    ——此文章摘自《Delphi 數據庫開發經典案例解析》定價 特價 購買>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

    //保存銷售單銷售單明細數據
    procedure ToutputButtonClick(Sender: TObject);
    var
    maxnummaxnumtempinputnuminputnum:string;
    newnumnewnumi:integer;
    begin
      //計算銷售單中最大編號以便插入新的銷售單數據時編號不沖突
      adoqueryClose;
      adoquerySQLClear;
      adoquerySQLAdd(select max(編號) 最大編號 from 銷售單);
      adoqueryOpen;
      maxnum:=adoqueryFieldByName(最大編號)asstring;
     
    //對讀出的編號進行截取並將其轉換為整數值字段太長時可以不能用strtoint來轉換
     //防止插入第一條記錄時出錯
        if (maxnum=)or(maxnum= ) then
        temp:=
        else
        temp:=copy(maxnum);
        //新插入的銷售單編號為插入前的最大編號+
        newnum:=strtoint(temp)+;
    //重新組合編碼
    if length(inttostr(newnum))= then
     inputnum:=+inttostr(newnum);
    if length(inttostr(newnum))= then
     inputnum:=+inttostr(newnum);
    if length(inttostr(newnum))= then
     inputnum:=+inttostr(newnum);
    if length(inttostr(newnum))= then
     inputnum:=+inttostr(newnum);
    if length(inttostr(newnum))= then
     inputnum:=inttostr(newnum);
    //計算銷售單明細最大編號以便插入新的銷售單明細數據時編號不沖突
      adoqueryClose;
      adoquerySQLClear;
      adoquerySQLAdd(select max(編號) 最大編號 from 銷售單明細);
      adoqueryOpen;
      maxnum:=adoqueryFieldByName(最大編號)asstring;
     
    //防止插入第一條記錄時出錯
        if (maxnum=)or(maxnum= ) then
        temp:=
        else
        temp:=copy(maxnum);
        newnum:=strtoint(temp);
     
    //由於銷售單明細數據可能由很多條因此在下面的循環中銷售單明細循環種再編號和組合編碼
     
      //插入新的銷售單和銷售單明細
      //如果客戶號為空或者時沒有銷售單明細數據則取消插入
      if (comboboxText=)or(editText=) then
      showmessage(客戶號不能為空且銷售單明細數據必須完整)

right>[http://developcsaicn/delphi/htm>]  [http://developcsaicn/delphi/htm>]  []  [http://developcsaicn/delphi/htm>]  


From:http://tw.wingwit.com/Article/program/Delphi/201311/24894.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.