Hm...
ausser das du bei deinem bedingten SELECT den Datentyp (INT) verwendest, aber @FormNr als VARCHAR deklarierst finde ich keine Fehler ...
SQL-Code:
@FormNr VARCHAR(5) = NULL -- hier sollte INT = NULL stehen
AS
IF @FormNr < 10000 -- wenn du hier den Parameter gegen eine Integer vergleichst
Der
MSSQL ist zwar meistens kulant bei unterschiedlichen Datentypen (insofern die Daten richtig interpretiert werden können), aber es ist der letzte offensichtliche Fehler ...
Probier doch mal deinen Parameter in der SP anzupassen ...
@FormNr INT = NULL
Nachdem du die SP gespeichert hast, musst du deine ADOSP im Delphi disconnecten, neu connecten und die Parameter neu auslesen sonst bekommt
ADO nicht mit, das sich die Parameterdeklaration geändert hat ...