请问一个关于数据库中字段的表示的小问题,谢谢大家!
ADOQuery1 ADOQuery2
i a(i) i v(i)
0 4 0 0
1 3
2 5
… …
两个数据库字段之间的关系是:v(i)=a(i)+v(i-1),现在已知数据库1,根据公式求出数据库2中的v(i),并添加到数据库2中,设v(0)=0,我的代码是这样写的:
//先给数据库2中的字段赋初值:
ADOQuery2.Append;
ADOQuery2.FieldValues[ 'i '] := 0;
ADOQuery2.FieldValues[ 'v '] := 0;
ADOQuery1.Post;
//添加数据到数据库2
for i := 1 to ADOQuery1.RecordCount-1 do
begin
ADOQuery2.Append;
ADOQuery2.FieldValues[ 'i '] := ADOQuery1.FieldValues[ 'i '] + 1;
ADOQuery2.FieldValues[ 'v '] := ADOQuery1.FieldValues[ 'a '] + ?;
//上面的意思是v(i)=a(i)+v(i-1),可是我不知道该怎样表示v(i-1),所以想请问大家该怎样表示呢?谢谢啊!
[解决办法]
var
i, v: Integer;
begin
v := 0;
for i := 1 to ADOQuery1.RecordCount-1 do
begin
ADOQuery1.Locate( 'i ', i, []);
ADOQuery2.Append;
ADOQuery2.FieldValues[ 'i '] := i;
ADOQuery2.FieldValues[ 'v '] := ADOQuery1.FieldValues[ 'a '] + v;
ADOQuery2.Post;
v := ADOQuery2.FieldValues[ 'v '];
end;
end;