tel.txt

来自「与酒店前台系统接口的一个实用型的电话计费接口软件。可以对接各种品牌的交换机」· 文本 代码 · 共 69 行

TXT
69
字号
/////
 with query2 do
 begin
  sql.clear;
  sql.add('select extension,dialednumber,billtypename,telephonecharge,intername,');
  sql.add('timestring,datestring'); 
  sql.add('from telephonebill where intername<>=''Y''');//  找出帐号
  open;
 end; 

 while not  query2.eof do 
 begin 

 with query1 do
 begin
  sql.clear;
  sql.add('select acct_num,acct_stus,rm_num,arr_dt');
  sql.add('from account where rm_num=:rm and arr_dt>=:dt and acct_stus=''4''');//找出帐号
  parambyname('rm').asstring:=query2.fieldbyname('extension').asstring;
  parambyname('dt').asdate:=query2.fieldbyname('datestring').asdate;
  open;
 end;
 with query3 do
 begin
  sql.clear;
  sql.add('select max(trn_id) trn_id from transact');    找出最大值  
  open;
 ID:=fieldbyname('trn_id').asinteger +1;
 end;
//先加一笔9000000000



 with query4 do 
 begin 
   sql.clear;
   sql.add(' Insert Into transact   (trn_id,trn_dt,acct_num,rm_num,trn_cd,trn_amt)');
   sql.add('Values (:id,    :dt,  :acct,   :rm   ,:cd,:amt)');
   parambyname('id').asstring:=ID;
   parambyname('dt').asdate:=    query2.fieldbyname('datestring').asdate;
   parambyname('acct').asstring:=query1.fieldbyname('acct_num').asstring;
   parambyname('rm').asstring:=  query1.fieldbyname('rm_num').asstring;
   parambyname('cd').asstring:=  '4';
   parambyname('amt').asfloat:=  query2.fieldbyname('telephonecharge').asfloat;
   execsql;

   sql.clear;
   sql.add(' Update account set acct_bal=acct_bal+:bal where acct_num=:acct');
   parambyname('acct').asstring:=query1.fieldbyname('acct_num').asstring;
   parambyname('amt').asfloat:=  query2.fieldbyname('telephonecharge').asfloat;    
   execsql;  
 end;
  
   with query5 do
   begin
    sql.clear;
    sql.clear;
    sql.add(' Update telephonebill set intername=''Y'', where ');
    sql.add('extension=:ext,datestring=:dt,timestring=:tt');
    parambyname('ext').asstring:=query2.fieldbyname('extension').asstring;
    parambyname('dt').asfloat:=  query2.fieldbyname('datestring').asfloat;    
    parambyname('dt').asfloat:=  query2.fieldbyname('timestring').asfloat;    
    execsql; 
   end;      

   query2.next; 	
end; 
   

⌨️ 快捷键说明

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