CLASSE MYSQL

jeb5292 Messages postés 3 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 4 décembre 2006 - 24 oct. 2006 à 14:50
simaxe25 Messages postés 13 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 16 juillet 2008 - 16 juil. 2008 à 04:16
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/40027-classe-mysql

simaxe25 Messages postés 13 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 16 juillet 2008
16 juil. 2008 à 04:16
pour info, il aurait été utile de faire un singleton (design pattern) sur ta classe :
- pour ainsi éviter une surcharge inutile des connexion vers le serveur MySql
- et pour pouvoir disposer de la connexion sur l'ensemble du projet
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
18 nov. 2006 à 14:19
En fait, moi pour le genre de cas que tu décris, je me sert du datatables puis du DataRow pour renvoyer directement la bonne valeur.
Au pire j'ai mon datatable et j'utilise la méthode Select().
Merci pour l'info du ExecuteScalar, je devrais m'en servir, j'ai vu un peu cette notion ce matin, je vais donc l'appronfondir :-)
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009
18 nov. 2006 à 12:00
je suis d'accord avec toi sur presque tout TheSin qu'il faut mieux renvoyer un DataTable fortement typé plutôt qu'un tableau de string.
Il est quand même intéressant des fois de renvoyer un string (pas un tableau) afin d'optimiser le code. Je m'explique :
Si j'ai l'ID d'une personne, et que je veux faire un select du nom uniquement (ex: SELECT Name FROM Users WHERE IdUser=@IdUser).
Dans ce cas, le meilleur moyen est d'utiliser un "ExecuteScalar" et de renvoyer un string.
Mais effectivement, je ne vois pas l'interêt non plus de ce code, car "pourquoi faire ce qui existe déjà, en moins complet et moins bien codé ?"
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
18 nov. 2006 à 09:38
Je ne vois pas vraiment l'intérêt de la classe ....
Les exceptions sont les exceptions génériques C# et pas celles de MySQL (MySQLException).
Où sont les gestions d'erreurs ? (c'est quand même super utile lorsque l'on parle avec le SGBD de connaître l'erreur d'une requête par exemple).
Pourquoi renvoyer les résultats d'un "SELECT" en string alors qu'il est nettement plus simple d'utiliser un DataSet ou un DataTable ?
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009
30 oct. 2006 à 08:59
Ou est l'intérêt de ta classe ?
Je crois qu'il ne faut pas partir sur une classe générique comme tu le fais. Je pense au contraire que le développeur devrait utiliser directement les espaces de noms de la librairie de MySQL lui permettant d'optimiser son code.
C'est un avis personnel, mais je pense que les classes déjà présentes dans la librairie "MySql.Data.dll" sont un très bon compromis entre simplicité et fonctionnalités. De plus, tu ne peux pas travailler en requête fortement typée, ce qui est primordial pour fournir un code de qualité, optimisé et robuste (je passerais sur le SQL Injection, les performances, les commentaires, ...).
jeb5292 Messages postés 3 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 4 décembre 2006
24 oct. 2006 à 14:50
Merci de donner un commentaire pour ma source, cela me permettrait de l'améliorer

Merci
@++
Jean-Ed
Rejoignez-nous