Selamlar,
Sqlite veri tabanında, DERINLIK alanı REAL 11,3 gibi küsürlü sayılar oluyor. Alttaki iki kodun mantığı aynı fakat sonuçlar neden faklı çıkıyor?
Bu kodlarla doğu sonuç alıyorum:
Bu kodlarda genelde eksik veri alıyorum:
Sqlite veri tabanında, DERINLIK alanı REAL 11,3 gibi küsürlü sayılar oluyor. Alttaki iki kodun mantığı aynı fakat sonuçlar neden faklı çıkıyor?
Bu kodlarla doğu sonuç alıyorum:
sFDQ.Active := False;
sFDQ.Close;
sFDQ.SQL.Clear;
sFDQ.SQL.Add('Select * From Havuz Where Tarih=: Tarih and Alerter=: Aler');
sFDQ.ParamByName('Tarih').AsDate := Date;
sFDQ.ParamByName('Aler').AsString := 'Alerter No';
sFDQ.Prepared := True;
sFDQ.Open;
while Not sFDQ.Eof do
begin
Ml := Trunc(StrToFloat(sFDQ.FieldByName('Ml').AsString)) >= sMl;
Derinlik := Trunc(StrToFloat(sFDQ.FieldByName('Derinlik').AsString)) <= sDerinlik;
if (Derinlik) and (Ml) then
begin
MemoAlerter.Lines.Add('Ml: ' + sFDQ.FieldByName('Ml').AsString);
MemoAlerter.Lines.Add(StringOfChar('-', 104));
end;
sFDQ.Next;
end;
Bu kodlarda genelde eksik veri alıyorum:
sFDQ.Active := False;
sFDQ.Close;
sFDQ.SQL.Clear;
sFDQ.SQL.Add('Select * From Havuz Where Tarih=: Tarih and Derinlik<=: Deri and Ml>=: Ml and Alerter=: Aler');
sFDQ.ParamByName('Tarih').AsDate := Date;
sFDQ.ParamByName('Deri').AsFloat := sDerinlik;
sFDQ.ParamByName('Ml').AsFloat := sMl;
sFDQ.ParamByName('Aler').AsString := 'Alerter No'; (DÜZETTTİM)
sFDQ.Prepared := True;
sFDQ.Open;
while Not sFDQ.Eof do
begin
MemoAlerter.Lines.Add('Ml: ' + sFDQ.FieldByName('Ml').AsString);
MemoAlerter.Lines.Add(StringOfChar('-', 104));
sFDQ.Next;
end;


