if判斷 ( 积分: 100 )

  • 主题发起人 主题发起人 zxy666666
  • 开始时间 开始时间
Z

zxy666666

Unregistered / Unconfirmed
GUEST, unregistred user!
现一数据库test.db有N笔记录.
大致数据如下:


0.001
0.002
0.008
0.009
1.005 //
0.008
0.006
0.009
0.007
...

请问怎么样知道数据中有超过1的(不连续超过1有效,即只有一次超过1).就是上面的资料.是不正常的资料.
只要判断到有这种情况,后面的资料就不管了.即一个状态Out:=True


像下面的资料
0.001
0.002
0.008
0.009
1.005 //
1.002 //
0.008
0.006
0.009
0.007
...
资料是正常的,即Out=False ;

谢谢!
 
直接用SQL语句是比较难办的,
bOUT := False;
iError := 0;
with query do
begin
Open;
First;
while not Eof do
begin
if (FieldbyName('data').asFloat < 1) and (iError = 1) then
begin
bOUT := True;
Close;
Exit;
end;
if FieldbyName('data').asFloat > 1 then
Inc(iError)
else iError := 0;
Next;
end;
Close;
end;
 
你好!
经测试你的代码,像有连续的>1的值,也一样out:=true.
而我要的结果是:如果有连续两笔或两笔以上的值>1算是正常数据,即out:=False .
麻烦再看看,先谢谢啦!
 
if FieldbyName('aa').asFloat > 1 then
begin
Next;
if FieldbyName('aa').asFloat > 1 then
bout:=false
else begin
bout:=true;
exit;
end;
 
后面少了NEXT
 
多人接受答案了。
 
后退
顶部