Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2012, 21h17   #1
Nouveau Membre du Club
 
Inscription : juillet 2009
Messages : 147
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 147
Points : 29
Points : 29
Par défaut Problème paramètre entrée/sortie

voilà, j'ai une procédure stockée :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE procedure procInfoClient
@code int,
@nom varchar(30) output,
@prenom varchar(30) output,
@adresse varchar(30) output,
@postal char(5) output,
@ville varchar(30) output
AS
BEGIN
SELECT @nom = Nom_client, @prenom = Prenom_client, @adresse = Adresse_client, @postal = Postal_client, @ville = Ville_client
FROM CLIENT
WHERE Id_client = @code 
End
Les paramètres nom, prenom, adresse, postal et ville, je les veux uniquement en sortie. Or, lorsque j'exécute ma procédure stockée, ça me les prends en entrée et en sortie.
Je ne comprends pas ...
Lenou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 01h26   #2
Membre du Club
 
Inscription : juin 2007
Messages : 115
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 115
Points : 41
Points : 41
Utilise des paramètres optionnels :
Code :
1
2
3
4
5
6
7
8
 
CREATE procedure procInfoClient
@code int,
@nom varchar(30) = '' output,
@prenom varchar(30) = '' output,
@adresse varchar(30) = '' output,
@postal char(5) = '' output,
@ville varchar(30) = '' output
mais de toute façon, si tu veux récupérer les paramètres en sortie, tu es bien obligé de fournir en entrée les variables qui vont réceptionner les valeurs, alors ...
Peut-être ton problème se pose pour les appels externes depuis ADO, pour que les paramètres soient reconnus de direction adParamOutput au lieu de adParamInputOutput ??
sinon, je ne comprend pas ce que tu veux dire par :
Citation:
Envoyé par Lenou Voir le message
je les veux uniquement en sortie.
azur668 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h43   #3
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 725
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 725
Points : 6 849
Points : 6 849
Il faut mettre simplement votre paramètre d'entrée dans votre procédure et faire un simple SELECT avec vos paramètres de sortie

Code :
1
2
3
4
5
6
7
8
9
10
11
12
CREATE procedure procInfoClient
@code int
BEGIN
 SELECT 
  Nom_client, 
  Prenom_client, 
  Adresse_client,
  Postal_client,
  Ville_client
FROM CLIENT
WHERE Id_client = @code 
End
Il suffit ensuite de récupérer le résultat de votre procédure dans un SqlDataReader par exemple.

Code :
1
2
3
4
5
6
SqlDataReader dr = ...
 
While (dr.READ()) 
 { 
        ... 
 }
++
mikedavem est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 13h35   #4
Nouveau Membre du Club
 
Inscription : juillet 2009
Messages : 147
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 147
Points : 29
Points : 29
Je ne pensais pas que l'initialisation comme ça était possible !

@MIKEDAVEM : Il m'est demandé de faire une procédure stockée avec des paramètres en retour. Je sais que votre solution est correcte mais cela ne répond pas aux attentes.
Lenou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h47.


 
 
 
 
Partenaires

Hébergement Web