Ben Bir uygulamamda aşağıdaki şekilde personel var mı yok mu kontrolünü yapıyorum. FireDAC ve Firebird kullanmıştım. Belki fikir verebilir.
function UpCaseTR(str: string): string;
const
KucukHarf: string = 'iışğüöç';
buyukHarf: string = 'İIŞĞÜÖÇ';
var
j: byte;
begin
for j := 0 to length(str) do
begin
if Ansipos(str[j],KucukHarf) > 0 then
str[j] := BuyukHarf[Ansipos(str[j],KucukHarf)]
else
str[j] := UpCase(str[j]);
end;
Result := str;
end;
function TPersonelTanımlaForm.PersonelKontrol(PersonelAdiSoyadi: String): Boolean;
var
Personel: TFDQuery;
begin
Result := false;
if AboneAnaForm.DBBaglanti.Connected then
begin
try
Personel := TFDQuery.Create(self);
with Personel do
begin
Connection := AboneAnaForm.DBBaglanti;
Sql.Clear;
Sql.Add('SELECT PERSONEL_ADI FROM PERSONEL_KART WHERE UPPER(PERSONEL_ADI)=' +
QuotedStr(UpCaseTR(PersonelAdiSoyadi)));
Open;
end;
if Personel.RecordCount > 0 then
Result := true;
finally
FreeandNil(Personel);
end;
end;
end;

