我的需求是:table中有ccje,sr,zc,jc 第一條記錄只有jc的值是10000,從第二條記錄開始把第一條記錄jc中的10000給ccje,ccje+sr-zc的值給jc,第三條記錄的ccje值又是第二條記錄的jc值.jc值是ccje+sr-zc,就這樣一直循環到最后一條記錄.我是這樣寫的:
procedure TForm1.Button1Click(Sender: TObject);
vari,h,m,j,k,l:integer;beginadoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from xj order by tim,id');
adoquery1.Open;
adoquery1.First;for i:=0 to adoquery1.RecordCount -1 dobegin
adoquery1.Next;
if not adoquery1.Eof then
begin
l:= adoquery1.FieldByName('id').AsInteger;
j:=adoquery1.FieldByName('sr').AsInteger;
k:=adoquery1.fieldbyname('zc').AsInteger;
end;
adoquery1.Prior; adoquery2.close; adoquery2.sql.clear; adoquery2.sql.add('update xj set ccje=:a,jc=:b' );
adoquery2.SQL.Add(' where id='+INTTOSTR(l)); adoquery2.Parameters.ParamByName('a').Value:=adoquery1.FieldByName('jc').AsInteger;
adoquery2.Parameters.ParamByName('b').Value:=adoquery1.FieldByName('jc').AsInteger +j-k;
adoquery2.ExecSQL; adoquery1.next; end;
end;
請高人指點錯在哪?
也可把email告訴我我把delphi+access2000的給他.
procedure TForm1.Button1Click(Sender: TObject);
vari,h,m,j,k,l:integer;beginadoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from xj order by tim,id');
adoquery1.Open;
adoquery1.First;for i:=0 to adoquery1.RecordCount -1 dobegin
adoquery1.Next;
if not adoquery1.Eof then
begin
l:= adoquery1.FieldByName('id').AsInteger;
j:=adoquery1.FieldByName('sr').AsInteger;
k:=adoquery1.fieldbyname('zc').AsInteger;
end;
adoquery1.Prior; adoquery2.close; adoquery2.sql.clear; adoquery2.sql.add('update xj set ccje=:a,jc=:b' );
adoquery2.SQL.Add(' where id='+INTTOSTR(l)); adoquery2.Parameters.ParamByName('a').Value:=adoquery1.FieldByName('jc').AsInteger;
adoquery2.Parameters.ParamByName('b').Value:=adoquery1.FieldByName('jc').AsInteger +j-k;
adoquery2.ExecSQL; adoquery1.next; end;
end;
請高人指點錯在哪?
也可把email告訴我我把delphi+access2000的給他.
解决方案 »
- MySql+delphi 通过internet传输数据的问题请教
- ListBox只能由上往下逐行显示数据,有没有由左往右显示数据的控件?
- table 报错,在线等
- 有事没事进来拿分.(100分)
- 数据集如何进行排序
- Delphi实现在一台机器上登录多个用户并保持在线
- 请问:东方网页王的树是用什么控件做的?分隔栏上有个金属质感的箭头,点击后可以隐藏和显示树
- 这个问题对你来说很容易,但我不会.请各位帮忙,给描述一下就行,谢谢!
- [公告]CodeGear的范路用Delphi4PHP做的个人网站和论坛
- 如何在MEMO组件中设置大小不同的字号或字体
- 根据表(不知道多少级),用递归的方法,生成树(tree)---sql2000数据库
- 各位三层结构的中间层都是怎么写的?小弟我有一个,不过有点毛病,请指点
没有即时刷新到数据。
所以你的循环可能只运行了1次。也就只产生一个记录更新。
你把for循环改用
while not adoquery1.eof do
begin
....
end;
adoquery1.update;试试看。