起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 114|回复: 2

【搞定】计算余额**

[复制链接]
发表于 2008-1-31 18:37:36 | 显示全部楼层 |阅读模式
if m=1 then
     begin
          for i := 0 to DataSetBroker2.DataSet.RecordCount-1 do
          begin
               if  DataSetBroker2.DataSet.FieldByName('XHGG').isnull then
               begin
                    lQuery.ConnectionString :='DATABASEURL=Biz:HGOPERATIONHGOPERATIONDB.DATABASE';
                    lQuery.CommandText := 'SELECT JC,CSZ From XHPMXB Where  XHDL = :a ';
                    lQuery.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
                    lQuery.Open;

                    lQuery1.ConnectionString :='DATABASEURL=Biz:HGOPERATIONHGOPERATIONDB.DATABASE';
                    lQuery1.CommandText := 'SELECT Sum(SJLYSL),Sum(RKSL) From XHP Where  HCDL = :a ';
                    lQuery1.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
                    lQuery1.Open;

                    j:=lQuery.FieldByName('CSZ').AsInteger+lQuery1.Fields[1].AsInteger-lQuery1.Fields[0].AsInteger;
                    lQuery.CommandText := 'update XHPMXB set JC=:j Where  XHDL = :a ';
                    lQuery.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
                    lQuery.Params.ParamByName('j').AsInteger := j;
                    lQuery.Execute;
                    lQuery.ApplyUpdates;
               end
               else
               begin
                    lQuery.ConnectionString :='DATABASEURL=Biz:HGOPERATIONHGOPERATIONDB.DATABASE';
                    lQuery.CommandText := 'SELECT JC,CSZ From XHPMXB Where '+' XHDL = :a '+' and XHGG = :b';
                    lQuery.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
                    lQuery.Params.ParamByName('b').AsString := DataSetBroker2.DataSet.FieldByName('XHGG').AsString;
                    lQuery.Open;

                    lQuery1.ConnectionString :='DATABASEURL=Biz:HGOPERATIONHGOPERATIONDB.DATABASE';
                    lQuery1.CommandText := 'SELECT Sum(SJLYSL),Sum(RKSL) From XHP Where '+' HCDL = :a '+' and XHGG = :b';
                    lQuery1.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
                    lQuery1.Params.ParamByName('b').AsString := DataSetBroker2.DataSet.FieldByName('XHGG').AsString;
                    lQuery1.Open;

                    j:=lQuery.FieldByName('CSZ').AsInteger+lQuery1.Fields[1].AsInteger-lQuery1.Fields[0].AsInteger;
                    lQuery.CommandText := 'update XHPMXB set JC=:j Where '+' XHDL = :a '+' and XHGG = :b';
                    lQuery.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
                    lQuery.Params.ParamByName('b').AsString := DataSetBroker2.DataSet.FieldByName('XHGG').AsString;
                    lQuery.Params.ParamByName('j').AsInteger := j;
                    lQuery.Execute;
                    lQuery.ApplyUpdates;
               end;

               DataSetBroker2.DataSet.Next;
               lQuery.Close;
               lQuery1.Close
          end;

11111.jpg

188.98 KB, 下载次数: 75

回复

使用道具 举报

 楼主| 发表于 2008-1-31 18:39:51 | 显示全部楼层
如图,只修改了序号3的库存余额的值,其它的序号1和2的没有修改。是什么原因?
帮我看下我的代码问题在那
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-1 10:05:28 | 显示全部楼层
问题错误找到了
先前把DataSetBroker2运行到最后条
结了吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 21:31 , Processed in 0.039056 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表