Hola liito16.
Si lo vas a hacer en Interbase o Firebird (es casi lo mismo) ya la cosa cambia....
Esto si te funcionará correctamente:
Código SQL
[-]
SET TERM ^;
CREATE OR ALTER PROCEDURE VALIDAR (USUARIO VARCHAR(10), CLAVE VARCHAR(6))
RETURNS (RESULT INTEGER)
AS
BEGIN
SELECT COUNT(*) FROM TABLA
WHERE (NOM_USER = :USUARIO) AND (KEY_USER = :CLAVE) INTO :RESULT;
END^
SET TERM ;^
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
with SQLStoredProc1 do
begin
SQLConnection := SQLConnection1;
StoredProcName := 'VALIDAR';
ParamByName('USUARIO').AsString := Edit1.Text;
ParamByName('CLAVE').AsString := Edit2.Text;
ExecProc;
if ParamByName('RESULT').AsInteger > 0 then
ShowMessage('Usuario encontrado')
else
ShowMessage('Usuario incorrecto');
end;
end;
Y puedo asegurártelo por que está probado.
Saludos.