OVH Cloud OVH Cloud

prob ADO -> PS

2 réponses
Avatar
jeorme
Bonjour à tous

'Voici mon souci
'une page ASP avec 3variables :

'commentaire varchar(8000)
'annee char(4)
'trimestre int

ma base de données SQL SERVER 2000. Le MDAC du serveur IIS est 2.7 je pense
une procedure stockée:

create procedure test @commentaire varchar(8000), @trimestre integer
update maTable
set commentaire = @commentaire
where trimestre = @trimestre

Si je la lance manuellement pas de souci

Mon Prog ASP

...
cmd.activeconnection = ..
cmd.commandtext = ...

Set monParam1 = cmd.createparameter......., ' Param COMMENTAIRE

Mon Problème:
Set ParamTRIMESTRE = cmd.createparameter("@trimestre", adInteger,
adParamInput,, 3)

cmd.execute

Ca plante à chaque fois sur l'Integer , la même syntaxe sur un SQL 7.0
Marche.
C'est normal !!!


Merci d'avance

2 réponses

Avatar
Patrice
Avec quel message ?

(à priori cela serait plutôt un problème ADO/VBScript ?)


Patrice

--

"jeorme" a écrit dans le message de
news:
Bonjour à tous

'Voici mon souci
'une page ASP avec 3variables :

'commentaire varchar(8000)
'annee char(4)
'trimestre int

ma base de données SQL SERVER 2000. Le MDAC du serveur IIS est 2.7 je


pense
une procedure stockée:

create procedure test @commentaire varchar(8000), @trimestre integer
update maTable
set commentaire = @commentaire
where trimestre = @trimestre

Si je la lance manuellement pas de souci

Mon Prog ASP

...
cmd.activeconnection = ..
cmd.commandtext = ...

Set monParam1 = cmd.createparameter......., ' Param COMMENTAIRE

Mon Problème:
Set ParamTRIMESTRE = cmd.createparameter("@trimestre", adInteger,
adParamInput,, 3)

cmd.execute

Ca plante à chaque fois sur l'Integer , la même syntaxe sur un SQL 7.0
Marche.
C'est normal !!!


Merci d'avance







Avatar
Yanos El Guerilleros
Salut,

Le premier paramètre doit être la valeur de retour, si ma mémoire est bonne
:
MSSQL7 --> RETURN_VALUE
MSSQL2K --> @RETURN_VALUE

Toutefois personnellement je ne m'embète plus avec ca, il y a une méthode
qui rafraichi la liste des paramètres tout bien comme il faut, exemple :

Function CreateCommand(CmdName, ConnectionObject)
Set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = ConnectionObject
cmd.CommandText = CmdName
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Refresh
Set CreateCommand = cmd
End Function

Ainsi tout les paramètres sont recréés avec toutes les informations
nécessaires (nom, type, taille, input/output, ordre, etc...)

A++

Yanos

"jeorme" a écrit dans le message de
news:
Bonjour à tous

'Voici mon souci
'une page ASP avec 3variables :

'commentaire varchar(8000)
'annee char(4)
'trimestre int

ma base de données SQL SERVER 2000. Le MDAC du serveur IIS est 2.7 je


pense
une procedure stockée:

create procedure test @commentaire varchar(8000), @trimestre integer
update maTable
set commentaire = @commentaire
where trimestre = @trimestre

Si je la lance manuellement pas de souci

Mon Prog ASP

...
cmd.activeconnection = ..
cmd.commandtext = ...

Set monParam1 = cmd.createparameter......., ' Param COMMENTAIRE

Mon Problème:
Set ParamTRIMESTRE = cmd.createparameter("@trimestre", adInteger,
adParamInput,, 3)

cmd.execute

Ca plante à chaque fois sur l'Integer , la même syntaxe sur un SQL 7.0
Marche.
C'est normal !!!


Merci d'avance