CLASSE D'EXÉCUTION DE PROCÉDURES STOCKÉES (PARAMÉTRÉ(S) OU NON) SUR UNE BASE SQL

cs_Benouille Messages postés 215 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 7 septembre 2007 - 28 févr. 2005 à 17:33
Little_Dev Messages postés 36 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 4 mars 2008 - 1 mars 2005 à 09:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29794-classe-d-execution-de-procedures-stockees-parametre-s-ou-non-sur-une-base-sql-server

Little_Dev Messages postés 36 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 4 mars 2008
1 mars 2005 à 09:14
Je te remercie pour tes commentaires et pour ta note.

Je pense que cette classe peut simplifier la vie dans le sens ou tu n'as plus besoin de redefinir a chaque fois que tu utilise un accés à DB Sql, une commande, un (des) paramétre(s) et un dataset.

Avec cette classe il te suffit d'instancier un objet en lui fournissant une chaine de connexion, le nom de la procédure stocker et il te retourne un DataSet que tu peux manipuler dans ton projet:

Exemple d'utilisation dans une DAL (Data Acces Layer):

Private Obj_Sql_Transac As New __Mes_Classes.Cls_Transac_Sql()

Public Function Fnc_Select(Optional ByVal Bln_Pret As Boolean = False, _
Optional ByVal Bln_Suppr As Boolean = False) As DataSet
Try
Dim ds As New DataSet()

With Obj_Sql_Transac
.OpenConnexion(Form1.Ch_Cnx)

.Command("Slct_Film")

.Parametre("@Bln_Pret", CBool(Bln_Pret))
.Parametre("@Bln_Suppr", CBool(Bln_Suppr))

'Tu peux créer X paramétres de la meme maniere

.Execute()

.CloseConnexion()

Return .DataSet

End With

Return ds

Catch ex As Exception
Throw ex
End Try
End Function

Le fait de déclaré "Private Shared _Sql_Cmd As New SqlCommand()", evite de le declaré a chaque utilisation d'un parametre.

Le DataSet est remonté dans la BLL (Business Logic Layer) et la tu peux modifier les données ou les remonter dans l'UI (User Interface).

Je pense que cela peux faciliter un developpement dans le sens il y moins de code a taper et si tu veux essayer de faire le meme accés à la DB avec la méthode classique .Mais si tu doit gérer une grand projet , un moment je pense que tu ne aura marre...Enfin je pense car moi c'est le cas.
cs_Benouille Messages postés 215 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 7 septembre 2007
28 févr. 2005 à 17:33
vu qu'il y a pas de commentaires je vais en mettre un petit.

Je trouve que ton code est propre meme si la gestion d'erreur est peu utile.
J'ai du mal a voir l'utilité du bout de code en général en fait ni comment tu l'utilises pour te simplifier la vie.

je trouve bizarre d'avoir partagé la commande - Private Shared _Sql_Cmd As New SqlCommand() - mais la ça doit être moi qui ne comprends pas tout ;)

la surcharge pour le passage de paramètres est un ebonne idée aussi mais la encore, j'imagine qu'il n'est pas plus compliqué d'utiliser directement l'objet commande.

dans l'ensemble le code est propre je mets donc 6/10 (c'est bien mais peu utile)
Rejoignez-nous