Teóricamente, deberías eliminar el Suspend del SP y después ejecutar (ExecProc) el mismo. Básicamente es lo dicho por
Guti13
Hay 2 tipos de procedimientos almacenados:
- de selección
- de ejecución
La diferencia es conceptual:
- Cuando devuelves un set de registros (SP de selección), debes utilizar Suspend dentro del SP y además abrirlo con .Open en delphi, además puedes usar una simple consulta (TQuery) con la instrucción:
- Cuando solo asignas un parámetro de salida, (SP de ejecución) no tiene sentido usar Suspend y además se ejecutará con ExecProc. Deberás usar un IBStoreProcedure o similar.
Espero que haya aclarado algo.
Saludos