OVH Cloud OVH Cloud

procédure stocké (sql serveur, asp)

1 réponse
Avatar
Arno
Bonjour voil=E0 , j'ai fait ma proc=E9dure stock=E9 :=20
=20
CREATE PROCEDURE PS_INSERT_QUESTION
@Activite_Id int
=20
AS =20
=20
DECLARE @RANGMAX int =20
=20
SELECT @RANGMAX =3D COUNT(ORDRE) FROM T_QUESTION WHERE=20
ACTIVITE_ID =3D @Activite_Id=20
INSERT INTO T_QUESTION(ACTIVITE_ID,ORDRE) VALUES=20
(@Activite_Id,@RANGMAX +1)=20
SELECT * FROM T_QUESTION WHERE ACTIVITE_ID =3D @Activite_Id=20
AND ORDRE =3D @RANGMAX +1
=20
GO

=20
Si je la lance via la console SQL, cela marche , cr=E9e mon=20
enregistrement et me le renvoie.
Mais si je passe via asp et je fais
=20
Set oConnexionDB =3D Server.CreateObject("ADODB.Connection")
oConnexionDB.open StrConn=20
Set res =3D Server.CreateObject("ADODB.Recordset")
res.Open "PS_INSERT_QUESTION 1" , oConnexionDB , 3, 3=20
=20
Cela me cr=E9e bien mon enregistrement , mais me le renvoie=20
pas, si je fais res.fields.count il me renvoie 0=20
et si je fais res.eof, il me renvoie :=20
ADODB.Recordset erreur '800a0e78' =20
L'op=E9ration demand=E9e par l'application n'est pas=20
autoris=E9e si l'objet est ferm=E9. =20

Comment dois je faire pour l'avoir , pour quer ma=20
proc=E9dure stock=E9 me le renvoie...

=20

Merci

=20

Arno=20

1 réponse

Avatar
Yanos El Guerilleros
Salut,

Voir ma réponse à "Troyan" à son message "SP en ASP Erreur ????" du
18/11/2003, pour ce qui concerne les recordsets retournées par une procédure
stockée.

A++

Yanos

Arno wrote:
Bonjour voilà , j'ai fait ma procédure stocké :

CREATE PROCEDURE PS_INSERT_QUESTION
@Activite_Id int

AS

DECLARE @RANGMAX int

SELECT @RANGMAX = COUNT(ORDRE) FROM T_QUESTION WHERE
ACTIVITE_ID = @Activite_Id
INSERT INTO T_QUESTION(ACTIVITE_ID,ORDRE) VALUES
(@Activite_Id,@RANGMAX +1)
SELECT * FROM T_QUESTION WHERE ACTIVITE_ID = @Activite_Id
AND ORDRE = @RANGMAX +1

GO


Si je la lance via la console SQL, cela marche , crée mon
enregistrement et me le renvoie.
Mais si je passe via asp et je fais

Set oConnexionDB = Server.CreateObject("ADODB.Connection")
oConnexionDB.open StrConn
Set res = Server.CreateObject("ADODB.Recordset")
res.Open "PS_INSERT_QUESTION 1" , oConnexionDB , 3, 3

Cela me crée bien mon enregistrement , mais me le renvoie
pas, si je fais res.fields.count il me renvoie 0
et si je fais res.eof, il me renvoie :
ADODB.Recordset erreur '800a0e78'
L'opération demandée par l'application n'est pas
autorisée si l'objet est fermé.

Comment dois je faire pour l'avoir , pour quer ma
procédure stocké me le renvoie...



Merci



Arno