for i:=0 to Group-1 do
begin
l:=0;
for j:= 0 to Item-1 do
begin
TmpStr:=TmpStr+IntToStr(Atom[i*item+j])+',';
FreqArr[k] := Atom[i*item+j];
SubArr[l] := Atom[i*item+j]; //得到组内成员
inc(K);
Inc(l);
end;
end; DM1.TblNoOrder3.Insert;
for i:= 0 to Group-1 do
begin
for j:= 0 to Item-1 do
begin
DM1.TblNoOrder3.FieldByName('Freq'+ IntToStr(j+1)).Value := SubArr[j];
end;
//DM1.TblNoOrder3.FieldByName('id').Value:=
//DM1.TblNoOrder3.FieldByName('GroupNum').Value:=
DM1.TblNoOrder3.FieldByName('Success').Value:= IntToStr(funcorder3(Item,SubArr));
DM1.TblNoOrder3.FieldByName('Project').Value:= IntToStr(Count+1);
//DM1.TblNoOrder3.Post;
end;
DM1.TblNoOrder3.Post;这应该怎么写呀?
数据库操作放在哪里?
begin
l:=0;
for j:= 0 to Item-1 do
begin
TmpStr:=TmpStr+IntToStr(Atom[i*item+j])+',';
FreqArr[k] := Atom[i*item+j];
SubArr[l] := Atom[i*item+j]; //得到组内成员
inc(K);
Inc(l);
end;
end; DM1.TblNoOrder3.Insert;
for i:= 0 to Group-1 do
begin
for j:= 0 to Item-1 do
begin
DM1.TblNoOrder3.FieldByName('Freq'+ IntToStr(j+1)).Value := SubArr[j];
end;
//DM1.TblNoOrder3.FieldByName('id').Value:=
//DM1.TblNoOrder3.FieldByName('GroupNum').Value:=
DM1.TblNoOrder3.FieldByName('Success').Value:= IntToStr(funcorder3(Item,SubArr));
DM1.TblNoOrder3.FieldByName('Project').Value:= IntToStr(Count+1);
//DM1.TblNoOrder3.Post;
end;
DM1.TblNoOrder3.Post;这应该怎么写呀?
数据库操作放在哪里?
可以用一个QUERY取得当前最大的ID值,
select max(id) from table1
然后DM1.TblNoOrder3.Insert;
for i:= 0 to Group-1 do
begin
for j:= 0 to Item-1 do
begin
DM1.TblNoOrder3.FieldByName('id').Value:=max+(j+1)*i;
end;
DM1.TblNoOrder3.Post当然了如果你把ID设为IDENTITY字段也可以
DM1.TblNoOrder3.FieldByName('id').Value:=max+i*item+j+1;