¡Buenas!
Yo para comprobar si existe un registro o no, antes de insertarlo, lo hago sin utilizar una consulta SQL, de la siguiente manera:
Código:
esta:=Table1.FindKey([campo_calve_primaria, campo_calve_primaria]);
if (esta = false) then
//inserto el elemento
Nota: 'esta' es una variable boolean, que no es necesaria si lo haces de la siguiente forma:
Código:
if (Table1.FindKey([campo_calve_primaria, campo_calve_primaria]) = false) then
//inserto el elemento
La cuestión es que en el 'FindKey' introduces el campo o campos que forman la clave primaria para que busque en la tabla, si existe te devuelve cierto y si no existe de devuelve falso.
Espero que te sirva.
Saludos.