请教,结构问题,如何用SQL语句将access根据表前2项内容赋值第三项
表data 中有三项 grp、sub、val,都为数字类型,分别表示 组号、从号、值。
现将表内每项的grp与sub的值提取出来,计算后结果放在result中,并将result的值放在表的val项中。
问题是,先执行select操作,之后再update操作,但是update后不能执行select的next操作,不知如何改。
...
sql.clear;
sql.add('select * from data');
open;
while not eof do
begin
a:=FieldByName('grp').value;
b:=FieldByName('sub').value;
...//计算得到result值
sql.clear;
sql.add('update data set [val]=:val where [grp]=:grp and [sub]=:sub');
Parameters.ParamByName('val').value:=result;
Parameters.ParamByName('grp').value:=a;
Parameters.ParamByName('sub').value:=b;
ExecSQL;
end;
next;//内存中数据会没有了,只能修改一条数据,执行到next就会报错
...
我是用delphi写的,不晓得这个结构该怎么改才能达到我想要的。