TravoniMedlem sedan okt. 20041 556 inlägg Fattar inte. När jag kör den identiskt lika frågan i Query Analyzer så funkar det jättebra (som det skall) men på ASP-sidan så får jag felmeddelandet på fetad rad.
set connection = server.createobject("adodb.connection")
connection.Open "Provider=sqloledb;Data Source=mssql.server.se;User Id=jag;Password=jesus;"
set rs = connection.execute("my_sp 1, 8, 'Hej du glade', 'ART', 1855")
[b]If not rs.eof then[/b]
...
TravoniMedlem sedan okt. 20041 556 inlägg Faktum är att det funkar om jag kör parameteriserade frågor och sätter variabel @sex,@sju som OUTPUT (adParamInputOutput) upptill i sp'n, men det funkar inte om jag deklarerar dem nedanför (röd & fet)
CREATE PROCEDURE my_sp
(
@ett integer = 0,
@tva integer = 9999,
@tre varchar(200),
@fyra varchar(3) = 'Hej',
@fem decimal = 1.5,
[b]@sex uniqueidentifier OUTPUT,
@sju int OUTPUT[/b]
)
AS
[b][red]--DECLARE @sex uniqueidentifier[/red][/b]
Set @sex = (SELECT guid FROM tabellen WHERE id = SCOPE_IDENTITY())
/*
Stor insert med select (Inputparametrar används här)
*/
[b][red]--DECLARE @sju int[/red][/b]
Set @sju = @@ROWCOUNT
SELECT @sex, @sju
RETURN
Det känns fånigt att skicka med null-värden om jag inte behöver några inputs på de variablarna.
TravoniMedlem sedan okt. 20041 556 inlägg Nu har jag lagt till SET NOCOUNT ON överst
Och tagit bort RETURN
Ändrat om i deklarationerna.
Resultatet blir bra/rätt i QA.
ASP-sidan skrev:
Procedure or function my_sp has too many arguments specified
TravoniMedlem sedan okt. 20041 556 inlägg Var deklarerar jag enbart outputparametrarna i SP'n?
@ndersMedlem sedan juni 200032 969 inlägg Provat att ta bort outputparametrarna också ur SP:n?
Eller måste du ha dem också?
TravoniMedlem sedan okt. 20041 556 inlägg Nej jag har tagit bort dem och lagt deklarationerna inne i SP'n i stället.
Nej jag behöver inte ha dem där.
TravoniMedlem sedan okt. 20041 556 inlägg Men som sagt om jag lägger dem där(uppe) och skickar med ett nullvärde så funkar frågan...
TravoniMedlem sedan okt. 20041 556 inlägg Skulle ju inte vara adParamInputOutput utan bara adParamOutput, så funkade det.