好奇怪的问题 查不出错误原因 请大虾帮帮忙!
ADOQuery1存储数据库中的信息,为了打印,需要将ADOQuery1中dyxh字段值相同的记录合并,将结果存入ADOQuery2 ,以备建立报表时使用 ,其中ADOQuery通过connection与数据库相连
问题:如何能将ADOQuery2与数据库无关 我现在写打印时的程序 每运行一次打印 数据库里就要多出好多记录 这是为什么啊 该如何解决呢
程序如下: ADOQuery1.DisableControls;
adoquery1.First;
count:=0; //一组中第一个值count=0,判断是不是第一个值
front_dyxh:=ADOQuery1.fieldbyname('DYXH').Value;
while not adoquery1.Eof do
begin
behind_dyxh:=ADOQuery1.fieldbyname('DYXH').Value;
if(front_dyxh=behind_dyxh)then //如果两条记录打印序号相同
begin
if(count=0)then //如果是同组第一条记录
begin
count:=1;
RepADOQuery.Append;
for j:=0 to ADOQuery1.FieldCount-5 do
begin
if ADOQuery1.Fields[j].FieldName='WQID' then Continue;
RepADOQuery.Fields[j].Value:=ADOQuery1.Fields[j].Value;
end;
RepAdoQuery.FieldByName('DATE').Value:= ADOQuery1.Fieldbyname('KSR').Value ;
RepAdoQuery.FieldByName('TIME').Value:= ADOQuery1.fieldbyname('JSR').Value ;
RepAdoQuery.FieldByName('KSSJ').Value:=ADOQuery1.fieldbyname('kssj1').Value;
RepAdoQuery.FieldByName('JSSJ').Value:=ADOQuery1.fieldbyname('jssj1').Value;
adoquery1.Next;
end
else //如果不是同组第一条
begin
RepADOQuery.FieldByName('DWXM').Value:= RepADOQuery.FieldByName('DWXM').Value+','+ADOQuery1.fieldbyname('DWXM').Value;
adoquery1.Next;
end;
end
else //如果两条记录打印序号不同
begin
RepADOQuery.Post;
count:=0;
front_dyxh:=ADOQuery1.fieldbyname('DYXH').Value;
end;
end;
RepADOQuery.Post;