Table1
账号     日期                       收入                 支出 
A1        2011/6/10     1000           0
A1       2011/6/10      0              500
A2        2012/6/10     0              500Table2
账号     日期                     余额
A1       2011/6/10
A1      2012/6/10
A2       2012/6/10根据账号求每日的余额? 如何在delphi中实现?
谢谢!

解决方案 »

  1.   

    create proc PAccbook
                      (@Acc_id int,
                       @Acc_Date datetime,
                       @Acc_No varchar(10)
                       )
    As
    SELECT  Acc_id,Acc_Date,In_money,Out_money,
            (SELECT  SUM(In_Money)-SUM(out_Money) FROM Db_AccBook
             WHERE   (Acc_id <=  t.Acc_id) and (Acc_Date<=t.Acc_Date)            
             ) AS Today_money
    FROM  Db_Accbook AS t
    WHERE Acc_No=@Acc_No
    ORDER  By Acc_Date,Acc_id这是我写的存储过程 大侠看看 现在怎么调入到delphi中
      

  2.   

    使用TADOSTOREDPROC控件,代码格式:  with ProcQuery do
       begin
         Close;
         ProcedureName := 'QueryStepDeatil';
         Parameters.Refresh;
         Parameters.ParamByName('@Acc_id').Value := 12 ;                      Parameters.ParamByName('@end_time').Value:=FormatDateTime('yyyymmdd235959',dtpEndDate.DateTime);
         Parameters.ParamByName('@Acc_No').Value := 'aa' ;    open;
      

  3.   

    adoquery1.sql.text:='exec PAccbook 1,getdate(),''Acc_No''';
    adoquery1.open;
      

  4.   

    求余额 这个字段如何传入 cxdbtextGride
      

  5.   

    余额 这个字段如何赋值给 CxTextEditgride
      

  6.   

    不认识CxTextEditgride,应该类似EditEdit1.Text:=FloatToStr(Adoquery1.FieldByName('Today_money').AsFloat);
      

  7.   

    提示 找不到 Today_Money?
      

  8.   

    噢 你那个Today_Money 是从 AS 过来的。不是字段
      

  9.   

    你关键是 不知道用 delphi怎么实现出来是吗? 咱们一起研究。
    呵呵 想靠那些所谓的高手 你是等不到的
      

  10.   

    汗  傻啊你 'Today_money'     
    SELECT  SUM(In_Money)-SUM(out_Money) FROM Db_AccBook
             WHERE   (Acc_id <=  t.Acc_id) and (Acc_Date<=t.Acc_Date)            
             ) AS Today_money
        是从这里来的 
    鄙视这种人 说一点就不说了 汗!!!!!!
      

  11.   


    也可以这样:
    Edit1.Text:=FloatToStr(Adoquery1.Fields[4].AsFloat);
      

  12.   

    嗯 谢谢 知道了 昨日余额怎么求啊
    账号 日期                 今日余额         昨日余额
    A1 2011/6/10           0              0
    A1 2012/6/11           100           0
    A2 2012/6/10           0             0
    A2 2012/6/11           100           0
    A1 2012/6/14           200           100 
    A1 2012/6/15           300           200