Hola Amigo
Solo hacerte un par de comentarios:
1.- Siempre que vas a utilizar una query debes desactivarla antes de cambiarle el sql text, en vez de utilizar open / close, a mi en lo particular me da mejores resultados:
Código Delphi
[-]
Querypac.Active:=False;
Querypac.SQL.Clear;
Querypac.Sql.Text := 'Select * From pacientes where nombre ='+QuotedStr(edit3.Text);
Querypac.Active:=True;
if Querypac.RecordCount>0 then
begin
showmessage('El paciente ya existe');
exit;
end;
2.- Por una practica sana si utilizas una query para checar la existencia del cliente, utiliza otra para hacer el insert
Código Delphi
[-]
QueryPac2.Sql.Clear;
QueryPac2.SQL.Text:='Insert into pacientes(nombre,edad) values('
+QuotedStr(edit71.Text)+','+QuotedStr(edit72.Text)+')';
QueryPac2.ExecSQL;
showmessage('El paciente se agregó correctamente');
Espero te sirvan este par de comentarios y como veras he cambiado un poco el texto en ambas querys, yo utilizo este tipo de cosas rutinariamente y con esto no me falla
Saludos