小
小毛孩
Unregistered / Unconfirmed
GUEST, unregistred user!
我需要把listbox的数据与dbgrid中的每一个数据进行比较,采用最笨的方法,即先取listbox中的第一个数据从dbgrid的第一行逐列比较,接着第二行直至最后,然后取listbox中第二个、第三个。。。数据直至最后一个。编写的代码如下:for nf :=1 to LB2.Items.Capacity do begin for n :=1 to 15 do begin with ADOQuery1 do begin if FieldByName('property_1').AsString = LB2.Items.Strings[nf-1] then begin arrayexample[n]:=arrayexample[n]+1; end; if FieldByName('property_2').AsString = LB2.Items.Strings[nf-1] then arrayexample[n]:=arrayexample[n]+1; if FieldByName('property_3').AsString = LB2.Items.Strings[nf-1] then arrayexample[n]:=arrayexample[n]+1; if FieldByName('property_4').AsString = LB2.Items.Strings[nf-1] then arrayexample[n]:=arrayexample[n]+1; if FieldByName('property_5').AsString = LB2.Items.Strings[nf-1] then arrayexample[n]:=arrayexample[n]+1; if FieldByName('condition').AsString = IntToStr(arrayexample[n]) then flag[n]:=1; if nf=1 then Label5.Caption:=LB2.Items.Strings[nf-1]; if nf=2 then Label6.Caption:=LB2.Items.Strings[nf-1]; if nf=3 then Label7.Caption:=LB2.Items.Strings[nf-1]; end; ADOQuery1.Next ; end; end;其中,最后三个if是用于测试用的,结果表明:1、最后的三个if语句得到运行;2、前面的五个if语句没能得到运行(即使条件满足时,也不能);3、如果把前面五个if语句中的nf改成具体的数值,则该五句语句均能运行奇怪!纳闷中!请高人指点!如果有其他好的方法,也希望不吝赐教!谢谢!