Endnu et af de detaljerede og veldokumenterede spørgsmål. Du kunne ligeså godt bare skrive "Mit program virker ikke" og stadig forvente vi har en løsning til dig.
Prøv at skrive lidt mere. Eventuelt med et kodeeksempel.
Jeg opretter en TSQLStoredProc og peger på dens SP i databasen (SQLConection, SchemaName, StoredProcName osv). Når jeg nu åbner Params, så kommer Result ikke med på listen, de øvrige/"rigtige" parametre er der fint med type og det hele.
Min Stored Procedure afslutter med: ... RETURN @Res END
eller f.eks. ... RETURN 2 END
Alt virker fint hvis jeg bruger BDE i stedet for dbExpress.
Skal du overhovedet kunne se @RESULT i udviklingsmiljøet? I ADO-verdenen findes @RETURN_VALUE ikke i listen, men når programmet kører, virker det fint at spørge på værdien - på en måde tilsvarende denne hvor jeg prøver at få det til at ligne dbExpress (Kan ikke teste da jeg mangler DBXMSS30.DLL).
SQLStoredProc.ExecProc; case integer(SQLStoredProc.ParamByName('@RETURN_VALUE').Value) of 2:; else ; end;
Alternativt kan du bruge indekser men det er ikke så vellidt:
SQLStoredProc.ExecProc; case integer(SQLStoredProc.Params[0].Value) of 2:; else ; end;
Jeg har lige igen prøvet med en SP der ikke har parametre, og kun returnerer Result; Her er .Params.Count 0 (nul) både i udviklingsmiljøet og under kørsel. Så .ParamByName('@RETURN_VALUE') eller .Params[0] virker ikke. Derfor antager jeg at den skal være på listen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.