Probléme passage de paramétres à une SP par Méthode ADO Execute ??

Le
News Groups
Bonjour,
Je suis sous Access 2002 - Projet ADP / SQL Server 2000.

J'essaye d'utiliser la Méthode Execute de ADO :
°°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre
d'entrée @Prenom
Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
entraine une erreur d'éxécution !!!

Quelqu'un peut-il m'aider, ?
Est ce que le passage des paramétres par ce biais ne vaut que pour les
instruction SQL paramétrées
type "UPDATE ..WHERE (MonChamp = ?)" ?

Merci de votre et désolé si la demande est un peu brouillon..

Thierry.
Vos réponses
Trier par : date / pertinence
News Groups
Le #11515291
Désolé si le post n'était pas clair donc voici plus de détails:

Je peux effectivement utiliser la définition de paramétres à l'objet
commande, c'est d'ailleurs ce que fais dans certains cas.
Mais dans le cas présent je veux éviter, je m'explique plus clairement que
dans le post précédent :

En fait j'ai un formulaire indépendant dans lequel je saisie des valeurs
pour une vingtaine de controles et la validation de la saisie par un bouton
execute une instruction INSERT dont les valeurs sont celles des controles du
Forms (l'insertion se faisant dans plusieurs Tables avec intégrités
référentielles entre elles).
Au lieu de créer dynamiquement l'instruction SQL, j'ai choisi de créer une
procédure stcokée avec en paramétres d'entrée les valeurs à inserer dans mes
tables :
MaProcedure (@ParamA,@ParamB,@ParamC,)
AS
...
BEGIN TRAN
INSERT MaTableA(ChampA,ChampB,ChampC,...ChampN...)
VALUES (@ParamA,@ParamB,@ParamC,)
IF @@ERROR <> 0 ROLLBACK TRAN
INSERT MaTableB(ChampA,ChampB,ChampC,...ChampS...)
VALUES (@ParamA,@ParamB,@ParamC,)
...
Hors cela me donne une vingtaine de paramétres !! > q.Parameters("@Du") Me("A")
q.Parameters("@Au") = Me("B")


..
q.Parameters("@N") = Me("N")



donc pour éviter de déclarer ces paramétres au niveau ADO, j'ai lu dans des
docs et l'aide DAO d'Access, la syntaxe de la méthode Execute :
command.Execute RecordsAffected, Parameters, Options
Avec :
Parameters Facultatif. Tableau Variant de valeurs de paramètres passées
avec une instruction SQL. (Les paramètres de sortie ne renvoient pas des
valeurs correctes s'ils sont transmis dans cet argument.)

Si j'applique l'arguments Parameters à mon cas, j'ai un message d'erreur ?!
°°MaCommande.Execute intAffect, (ValeurA,ValeurB,ValeurC,...ValeurN)

Donc je ne sais si on peut l'utiliser avec des Procédures Stockées ou
seulement avec une instruction SQL paramétrée du type :
INSERT MaTableA(ValeurA,ChampB,ChampC..)
VALUES (?,?,?..)..

Je cherche donc de l'aide et des infos sur cela ??

Merci encore de vos réponses,
Thierry.

"News Groups" 41deb5c3$0$29893$
Bonjour,
Je suis sous Access 2002 - Projet ADP / SQL Server 2000.

J'essaye d'utiliser la Méthode Execute de ADO :
°°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
Afin d'executer une Procédure stockée de type "UPDATE.." ayant un


parametre
d'entrée @Prenom
Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
entraine une erreur d'éxécution !!!

Quelqu'un peut-il m'aider, ?
Est ce que le passage des paramétres par ce biais ne vaut que pour les
instruction SQL paramétrées
type "UPDATE ..WHERE (MonChamp = ?)" ?

Merci de votre et désolé si la demande est un peu brouillon..

Thierry.




Med Bouchenafa
Le #11515191
L'objet ADO Command possède une collection de paramètres qu'il faut remplir
Regarde la méthode CreateParameter
Normalement, tu devrais trouver suffisamment d'exemples sur le site MSDN pour t'en sortir
Entre autres cet article
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsmart00/html/sa00i8.asp


--
Bien cordialement
Med Bouchenafa



"News Groups" 41deb5c3$0$29893$
Bonjour,
Je suis sous Access 2002 - Projet ADP / SQL Server 2000.

J'essaye d'utiliser la Méthode Execute de ADO :
°°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre
d'entrée @Prenom
Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
entraine une erreur d'éxécution !!!

Quelqu'un peut-il m'aider, ?
Est ce que le passage des paramétres par ce biais ne vaut que pour les
instruction SQL paramétrées
type "UPDATE ..WHERE (MonChamp = ?)" ?

Merci de votre et désolé si la demande est un peu brouillon..

Thierry.




News Groups
Le #11515061
Merci de ton aide,

je vais fouiller un peu ..
Thierry.
"Med Bouchenafa" u69sc#
L'objet ADO Command possède une collection de paramètres qu'il faut


remplir
Regarde la méthode CreateParameter
Normalement, tu devrais trouver suffisamment d'exemples sur le site MSDN


pour t'en sortir
Entre autres cet article



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsmart00/h
tml/sa00i8.asp


--
Bien cordialement
Med Bouchenafa



"News Groups" 41deb5c3$0$29893$
> Bonjour,
> Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
>
> J'essaye d'utiliser la Méthode Execute de ADO :
> °°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
> Afin d'executer une Procédure stockée de type "UPDATE.." ayant un


parametre
> d'entrée @Prenom
> Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
> entraine une erreur d'éxécution !!!
>
> Quelqu'un peut-il m'aider, ?
> Est ce que le passage des paramétres par ce biais ne vaut que pour les
> instruction SQL paramétrées
> type "UPDATE ..WHERE (MonChamp = ?)" ?
>
> Merci de votre et désolé si la demande est un peu brouillon..
>
> Thierry.
>
>




Publicité
Poster une réponse
Anonyme