CLASSE HELPER POSTGRESQL

Signaler
Messages postés
412
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
7 avril 2008
-
Asmael
Messages postés
2
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
16 mai 2008
-
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/40411-classe-helper-postgresql

Asmael
Messages postés
2
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
16 mai 2008

salut Benouille!
Je n'ai pas encore testé son code mais je pense que tu pousses un peu fort tes remarques à son égard.
Si tu as mieux à proposer, c'est mieux de le faire plutôt que de perdre du temps à lui crier les limites de son code.Comme on ira plus de l'avant.Tu es un codeur et tu devrais comprendre tout le mal qu'il a eu a réaliser ce code.
Bon bref,j'espère que je t'offense pas (si tel est le cas, tu m'excuses) car cela n'a jamais été mon intention.c'est juste mon avis.
A+
cs_Benouille
Messages postés
216
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
1
le code est ultra propre et ça fait plaisir.
même si j'ai toujours du mal avec les "If True Then" (pourquoi pas If True = True = True And True Or False ... Then" )

ou pire encore:
Cn.Open()
If Cn.State = ConnectionState.Closed Then
ConnectDataBase = False
ElseIf Cn.State = ConnectionState.Open Then
ConnectDataBase = True
Cn.Close()
End If

soit quelquechose m'échappe soit c'est du code inutile.
Si le .open plante de toutes façons la suite ne sera pas lue (pas de try catch géré dans la fonction appelante donc c'est le catch de la fonction open qui lui même ne fait rien qui est sensé gérer l'erreur)

le If pue du cul aussi, pourquoi pas écrire simplement:
Return Cn.State = ConnectionState.Open

d'ailleurs une meilleure gestion du try catch sur une ouverture de connection se fait apres le .open pour assurer sa fermeture dans le finally en cas de plantage dans la requête.

Je n'ai rien vu (pardon si ça m'a échapé) concernant les proc stockées et pourtant il me semble que postgres les gere (comme des fonctions utilisateurs même si je dis pas de bétises mais à confirmer).
A aucun moment on ne passe de paramètres permettant d'utiliser la base autrement qu'en lui refourgant une chaine sql.

chaine sql filtrée d'ailleurs,
sous couvert de sécurité on ne peut plus utiliser exec ou %, ni de ponctuation, ouais ok mais bon on peut avoir des choses a stocker qui parlent la france avec des bouts de mots non tronqués.


c'est donc tres beau mais je trouve le niveau un peu léger, beaucoup de code inutile et le tout peu exploitable sur une application plus ouverte.
Je pense que tu devras la modifier le jour ou tu auras besoin de t'en servir.


j'ai mis 7/10 pour la clarté du code
OneHacker
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
si car on a pas la DLL puisque tu as oublié de la mettre et je sais très bien importer un référence.
jsiAngers
Messages postés
7
Date d'inscription
dimanche 21 septembre 2003
Statut
Membre
Dernière intervention
28 avril 2009

Je crois qu'il faut tu revois tes classiques... il faut ajouter une référence vers cette librairie libre qu'est Npgsql, si tu souhaites utiliser cette classe avec une base de données PostGresql... donc de nouveau, Cher OneHacker, pas d'erreur...
OneHacker
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Erreur : Imports Npgsql -> Espace de noms introuvables. Corrige ta source avant de la poster.