query1.close;
query1.SQL.Clear;
query1.sql.add('select * from wry where STARTIP='''+s2+''' or ENDIP='''+s2+'''');
query1.open;
if query1.RecordCount=1 then label2.Caption:=query1.Fields[2].AsString+query1.Fields[3].AsString;
if query1.RecordCount=0 then
begin
s1:=copy(s2,1,11);
query1.close;
query1.sql.clear;
query1.sql.add('select * from wry where STARTIP like '''+s1+'%'' or ENDIP like '''+s1+'%''');
query1.open;
if query1.RecordCount=1 then label2.Caption:=query1.Fields[2].AsString+query1.Fields[3].AsString;
if query1.RecordCount>1 then
begin
query1.First;
for i:=1 to query1.RecordCount do
begin
m:=(strtoint(copy(s2,13,3)))-(strtoint(copy(query1.Fieldbyname('STARTIP').asstring,13,3)));
n:=(strtoint(copy(query1.Fieldbyname('ENDIP').asstring,13,3))-(strtoint(copy(s2,13,3))));
if m>0 and n>0 then
begin
if m<k or n<l then
begin
k:=m;
l:=n;
s3:=query1.Fields[2].AsString+query1.Fields[3].AsString;
end;
end;
if query1.Eof=true then
begin
label2.Caption:=s3;
exit;
end;
query1.Next;
end;
end;
end;
是编译时出错,一直还没有解决呢,不好意思,我写的代码比较丑,不太好意思贴
各位帮着看看吧
就是编译到IF语句出错的