Regarde bien ton code de près :
Function Trouver ():boolean;
DM.DSRuche.Dataset.First;
while Not DM.DSRuche.Dataset.EOF do
Begin
If Dm.DSRuche.Dataset.Fields[0].Value=DBEdit.Text then
Begin
Trouver:=True;
End
Else
Begin
DM.DSRuche.Dataset.Next;
End;
End;
Même quand la valeur est trouvée, tu passes à l'enregistrement suivant !
Sauf coup de chance où le dernier enregistrement serait celui qui correspond à ce que tu cherches, ta fonction renverra pratiquement toujours faux.
Voici le code remanié et allégé :
function Trouver(AText: string): boolean;
begin
Result := False;
with DM.DSRuche.Dataset do
begin
First;
while not EOF do
begin
if Fields[0].AsString = AText then
begin
Result := True;
Break;
end;
Next;
end;
end;
end;
Mais pourquoi n'utilises-tu pas la méthode Lookup des TDataSet ?
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<