类型不匹配的问题(50分)

  • 主题发起人 主题发起人 whisht0111
  • 开始时间 开始时间
:d 有这么回事?
 
今天长见识了
不过我资质鲁钝
具体该怎么解决
能不能解释一下
 
我们假设你的s1的值是query1的s1字段,s2对应的是s2字段,取值的时候不要用
query1[s1]和query1[s2]来取,用query1.fieldbyname('').asstring来做就可以了,
OK?再试试.
 
m:=(strtoint(copy(s2,13,3)))-(strtoint(copy(query1.Fieldbyname('STARTIP').asstring,13,3)));
你的意思是不是这样取?
我这样做后结果还是和原来一样
语句能通过
但是接下来还是报告类型不匹配
不知是不是还有什么需要注意的地方
 
的确很奇怪~~~
 
你是编译出错还是运行出错啊。
if(m>0)不幸?那你贴出if (m>0)开始的语句啊
 
算了,你把整个过程贴出来好了
 
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语句出错的
 
大哥!哪一个IF???太多了啊!说明白点!
 
s1:=copy(s2,1,11);
这个之前的s2是啥?
 

n:=(strtoint(copy(query1.Fieldbyname('ENDIP').asstring,13,3))-(strtoint(copy(s2,13,3))));
if m>0 and n>0 then
begin
这个if吧
 
到底是m还是n除了问题?
 
if m>0 and n>0 then

if m<k or n<l then

这两句都出错
报告类型不匹配
s2是一直不变的,就是我上面说的那个值
 
注意括号:
if (m>0) and (n>0) then
if (m<k) or (n<l) then
 
注意括号:
if (m>0) and (n>0) then
if (m<k) or (n<l) then
delphi 是先 做and、or 再做 > 、< 的,和c++之类相反
 
所以必须括号
 
if (m>0) and (n>0)

改成这个样子
 
糟糕!pipi的动作真快!慢了1分钟
 
:~~~~~~< 55555~~~~[:(]
 
接受答案了
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部