Bonjour à tous,
Je pars sur un nouveau projet web en ASP .Net et j'avais une question.
Pour créer des fonctions d’exécution de requête SQL (sur un SQL Server en réseau), du style récupérer un SELECT dans un SqlDataReader, exécuter un UPDATE, ...
Jusqu'à maintenant j'utilisais un Module avec mes différentes fonctions. Par exemple
Ainsi j'ouvre et je ferme la connexion a chaque exécution de requête. Il peut donc y avoir plusieurs ouvertures/fermetures de base sur un même Page_Load.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Public Function GetReader(ByVal pRequeteSQL As String) As SqlDataReader Dim vConn As New SqlConnection("MaChaineDeConn") vConn.Open() Using vCommande As New SqlCommand(pRequeteSQL, vConn) Return vCommande.ExecuteReader(Data.CommandBehavior.CloseConnection) End Using End Function Public Sub ExecuteSQL(ByVal pRequeteSQL As String) Using vConnSQL As SqlConnection = New SqlConnection("MaChaineDeConn") vConnSQL.Open() Using vCdeSQL As SqlCommand = New SqlCommand(pRequeteSQL, vConnSQL) vCdeSQL.ExecuteNonQuery() End Using End Using End Sub
Ou est-il mieux d'utiliser un Classe ? En ouvrant la connexion dans le New() et exécutant les différentes requêtes avec donc la même connexion, puis en fermant dans le Dispose().
Ainsi une seule connexion base pour plusieurs requêtes sur un même Page_Load.
Quel est la meilleure solution ?
Merci d'avance![]()
Partager