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

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

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.