Asp.net - exécuter une procédure stockée avec passage de paramètres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 30 954 fois - Téléchargée 27 fois

Contenu du snippet

A partir de cette source, il était intéressant de la compléter afin de permettre l'utilisation des Procédures Stockées qui nécessite un passage de paramètres dans l'utilisation.
- http://www.aspfr.com/code.aspx?ID=8953

Voici donc deux exemple, une en mode Insert/Update et l'autre en mode Select.

Source / Exemple :


' Deux exemples pour une utilisation des Procédure Stockées avec paramètres

' -------------------------------------------------------------------------
Public Function ExecuteNonQueryProcStock(ByVal MachaineDeConnexion As String, ByVal MonInteger As Integer, ByVal MaDate As DateTime, ByVal MonTexte As String) as Integer
' Exécution d'une Procédure Stockée de type Insertion ou Update

Dim Maconnexion As SqlConnection = New SqlConnection(MachaineDeConnexion)
Dim MonResultat As Integer = -1
Dim MaCommande As New SqlCommand()

MaCommande = New SqlCommand("MaProcStockExecute", Maconnexion)
MaCommande.CommandType = CommandType.StoredProcedure

' Déclaration pour mon premier paramètre de ma Proc stock en Int
Dim ParamInteger As SqlParameter = MaCommande.Parameters.Add("@MonIntProcStock", SqlDbType.Int)
ParamInteger.Value = MonInteger

' Déclaration pour mon second paramètre de ma Proc stock en DateTime
Dim ParamDateTime As SqlParameter = MaCommande.Parameters.Add("@MaDateProcStock", SqlDbType.DateTime)
ParamDateTime.Value = MaDate

' Déclaration pour mon second paramètre de ma Proc stock en NVarChar (2000 char)
Dim ParamNVarChar As SqlParameter = MaCommande.Parameters.Add("@MonTextProcStock", SqlDbType.NVarChar, 2000)
ParamNVarChar.Value = MonTexte

Try
 Maconnexion.Open()
 MonResultat = MaCommande.ExecuteNonQuery
Finally
 If Not (Maconnexion Is Nothing) Then Maconnexion.Close()
End Try

' On récupère une valeur qui indique si la procédure stockée s'est bien déroulée.
Return MonResultat

End Function

' -------------------------------------------------------------------------
Public Function RecupDataSetProcStock(ByVal MachaineDeConnexion As String, ByVal MonInteger As Integer, ByVal MaDate As DateTime, ByVal MonTexte As String) As Dataset
' Exécution d'une Procédure Stockée de type Sélection

Dim Maconnexion As SqlConnection = New SqlConnection(MachaineDeConnexion)
Dim MaCommande As New SqlCommand()

MaCommande = New SqlCommand("MaProcStockRenvoieDataSet", Maconnexion)
MaCommande.CommandType = CommandType.StoredProcedure

Dim MonAdapter As SqlDataAdapter = New SqlDataAdapter()
MonAdapter.SelectCommand = MaCommande

' Déclaration pour mon premier paramètre de ma Proc stock en Int
Dim ParamInteger As SqlParameter = MaCommande.Parameters.Add("@MonIntProcStock", SqlDbType.Int)
ParamInteger.Value = MonInteger

' Déclaration pour mon second paramètre de ma Proc stock en DateTime
Dim ParamDateTime As SqlParameter = MaCommande.Parameters.Add("@MaDateProcStock", SqlDbType.DateTime)
ParamDateTime.Value = MaDate

' Déclaration pour mon second paramètre de ma Proc stock en NVarChar (2000 char)
Dim ParamNVarChar As SqlParameter = MaCommande.Parameters.Add("@MonTextProcStock", SqlDbType.NVarChar, 2000)
ParamNVarChar.Value = MonTexte

Dim MonResultat As New DataSet()

Try
 Maconnexion.Open()
 MonAdapter.Fill(MonResultat)
Finally
 If Not (Maconnexion Is Nothing) Then Maconnexion.Close()
End Try

' On récupère le DataSet avec comme premier DataTable le résultat du SELECT
Return MonResultat

End Function

' -------------------------------------------------------------------------

Conclusion :


Bon Coding.

Romelard Fabrice (Alias F___)

A voir également

Ajouter un commentaire

Commentaires

cs_New_World
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
rebonjour
en fait j ai aussi essayé
SqlParameter parameterpseudo = new SqlParameter("@Nm", SqlDbType.VarChar, 50);
parameterpseudo.Value = tb_membre.Text;
com.Parameters.Add(parameterpseudo);

et merciiiii j espere bien que tu pourra m aider parce ke vraiment jsui plante la jsui connecte sur msn si tu peu me parler direct s_essalhi@hotmail.com ça me ferai plaisir et remerci
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
3 -
Par hasard, le type dans la base de données ne serait pas du char ?
cs_New_World
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
si il est du mm type
cs_New_World
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
Bonsoir
voila j ai enfiiiiiin trouve la solution j avait pa declarer la taille de la variable dans la procedure stocké c béte n est ce pa bon en ts cas jte remerci bcp et jveu explique l'erreur pr que d autre personne ne prenne pa autant de temp a trouver la solution s il tombe au mm piege j espere que ça sera util puisqu il ma pri bcp de tem pr le resoudre bon enfin jsé c trop bete
hichvbasic
Messages postés
17
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
18 mai 2006
-
Bonjour tt le monde ma question est comment je peux recupére une valeur retourné en parametre de ma procédure stockée
Commenter la réponse de cs_Domilo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.