Evitar duplicidade em Banco de Dados - Lazarus

Delphi

14/11/2017

Boa tarde meus caros, meus amigo estou tendo dificuldade em evitar duplicidade em Banco de Dados, pois o código que usei mais não deu em nada foi este, abaixo.

Var
X: String;
begin
dm.tbExLaboratorio.Close;
dm.tbExLaboratorio.SQL.Clear;
dm.tbExLaboratorio.SQL.Add('Select * From LABORATORIO Where Upper(EXAME_1) Like Upper(:X)');
dm.tbExLaboratorio.ParamByName('x').AsString:=DBEdit1.Text+'%';
dm.tbExLaboratorio.Open;

If dm.tbExLaboratorio.RecordCount = 1 then
begin
MessageDlg('Paciente consta em nossa Base de Dados',mtWarning,[mbOK],0);
end;

Por favor gostaria da ajuda dos colegas programadores.
Helton Garrido

Helton Garrido

Curtidas 0

Melhor post

Luiz Vichiatto

Luiz Vichiatto

17/11/2017

Helton, para ser direto coloque a 'distinct' logo depois do select, porém para ter um resultado mais apropriado, coloque os campos, isso ajuda no retorno da consulta e diminui a matriz de resultado.
O código fica aproximadamente assim:
...
dm.tbExLaboratorio.SQL.Add('Select distinct desc_exame, nm_laboratorio From LABORATORIO Where Upper(EXAME_1) Like Upper(:X)');
...


Evite colocar ' * ' no select, colocando o nome dos campos pode ter um ganho no retorno quando a lista de resultados for muito extensa.
GOSTEI 1
POSTAR