cs_Gwendal3
Messages postés24Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention 7 mai 2009 28 juil. 2010 à 16:50
Salut,
Merci pour ta source, elle m'est très utile....
J'ai quand même une petite question. Avec une base SQL CE, comment fais-tu pour récupérer le dernier identity ajouté à la base? Avec SQL CE, on ne peut pas envoyer plus d'une requête à la fois...
"INSERT INTO "nom de table" ("colonne 1", "colonne 2", ...) VALUES ("valeur 1", "valeur 2", ...); SELECT @@IDENTITY" n'est donc pas possible...
Gwendal
inoussyago
Messages postés9Date d'inscriptionjeudi 14 décembre 2000StatutMembreDernière intervention11 juillet 2009 17 juin 2009 à 14:00
Salut je suis peut etre un debutant dans tout ce qui es .NET, mais je te felicite.
Je sais pas trop quelle l'objectif que tu as en ayant creer cette classe, mais je t'encourage quand même.
Je pense que cela montre que tu as une assez bonne maitrise de ces outils de persistance qu'ado nous offre.
Certe pour des projet consequents (important) l'ideal serait d'utiliser les librairie ADO.
Mais comme etudiant ce genre de projet nous forme.
sistemaster
Messages postés1Date d'inscriptionmardi 9 janvier 2007StatutMembreDernière intervention18 décembre 2007 18 déc. 2007 à 19:44
Thanks you !!!!
From Chili
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 14 mai 2007 à 23:02
Bon si vous voulez mettre un petit 10 la vous génez pas :p lol ca fait toujours plaisir quand même
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 12 janv. 2007 à 14:01
Je ne suis pas un spécialiste des DB (loin de là), mais je dois avouer que je rejoins un peu vladam. Dans 95% des cas, on peut faire tout ce qu'on veut avec ce qui nous est donné dans le framework, et ceci en relativement peu de ligne. Du coup, de tel projet ne sont pas vraiment utile (même si j'avoue que j'ai pas tout regarder ton code, mais ça à l'air conséquent, pour finalement pas grand chose...)
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 12 janv. 2007 à 02:21
Salut T_Barbillon :)
oui c'est vrai j'ai tendance un peu à abuser des try catch ...
c'est un peu la solution facile lorsqu'on n'a pas mis tous les tests en place ,pour se premunir contre tout plantage brut :p
sinon oui c'est vrai d'habitude j'utilise un booleen ou le nombre de lignes mis à jour
Oui je vois que tu es plutot un jeune chat lol mais si tu as des trucs interessants a dire vas y, ca ne pourra que faire avancer le "schmilblik", moi perso plus ca va et plus je me tourne vers le mode connecte, et j'essaie de bien separer les couches(presentation,metier,persistance + Binding entre Metier et presentation + O/R entre persistance et metier) sinon je vais me realiser (en fait je suis en plein dessus) un generateur de code complet pour la couche metier et la couche persistance qui reposera en parti sur les classes postées ici(et qui sera assez "legere") en fait
j'ai pour idée de faire un designer visuel(ressemblant un peu Power Amc cote designer) et qui permettra de generer a la fois le script de creation de la base (ACCES ou Sql Server), et le projet Visual studio(couche Metier + persistance) si vous etes sage lol peut etre que je posterai les sources sur codes-sources :p
++
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 11 janv. 2007 à 09:02
Salut, juste une petite question au passage, après avoir lu un peu (trop?) rapidement ta source : je me demandais pourquoi mettre un try catch juste pour relancer l'exception catchée? Si c'est pour informer les couches supérieures, tu peux ne pas catcher l'exception (en plus l'objet sera plus fortement typé), ou renvoyer un booléen et mettre à dispo une fonction du style GetLastError.
Pour ce qui est du débatt, je ne suis ni vieux loup ni pro des bdd, donc je m'abstiens ;)
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 8 janv. 2007 à 23:41
Salut :)
Je suis ouvert à tout (du moment que c'est dit avec suffisament de gentillesse), mon but est d'essayer d'avoir les meilleures méthodes pour programmer, ce projet est plus un début et je suis d'accord que ce n'est pas "LA" solution" car en fait on n'a une partie persistance legere mais le code qui devrait etre gerer par la persistance est en fait deplacer seulement (meme s'il s'en trouve moins volumineux), d'un autre coté les generateurs de code du marché me conviennent assez peu, j'aime maitriser tout et ne pas etre dependant d'une solution tiers
Mais je veux bien recevoir les conseils des "vieux loups" de la programmation d'application de gestion,quelles methodes eux utilisent(programmation n-tiers ? en vue de decoupler les couches ? ou non )Utilisez vous le mode deconnecté ? jusqu'a quel point,... comment gerez vous les problemes generes par le mode deconnecte et l'acces concurrentiel et enfin finalement ne preconisez vous pas de developper une solution plus en contact direct avec les données(car apres tout c'est elles qui sont importantes) et en mode connecté ...
Donc si les pros veulent participer a ce sujet(debat ?) que lance ...
concernant les meilleures méthodes de développement pour les applications de gestion aujourd'hui ... allez y :)
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 6 janv. 2007 à 23:27
de rien ! de rien ! de rien! MasterVanou
non mes classes se basent sur un principe simple c'est que seuls quelques parametres changent d'une requete a l'autre(le command.type et le commandText + les parametres), ainsi la connection est definie automatiquement(pas besoin de la coder), et pour definir les command il suffit de passer a une procedure le commandType et le commandText , puis on ajoute les parametres en appelant juste une methode
On a un minimum de code a saisir .. seulement à appeler les methodes des classes qui font tout et leur passer uniquement les parametres importants
on n'a pas des milliers de lignes de codes pour gerer chaque table ,mais une seule classe et finalement on ne saisi que les appels aux methodes, plus l'application est grosse et plus le gain est visible et enorme
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 6 janv. 2007 à 13:00
Et bien, ce code n'a qu'un intérêt, c'est de montrer à la rigueur ce que vous pouvez faire avec les librairies de ADO.
Si je peux me permettre de donner un conseil aux débutants, pour partir du bon pied :
1) - si vous voulez coder vraiment votre DAL (data Access layer), utilisez Entreprise Library 2.0
2) - si vous voulez vraiment un code propre, utilisez un générateur de code, qui génèrera 100 % de votre DAL (modèle objet relationnel par exemple). MyGeneration est un très bon outil pour cela.
Mon avis (purement personnel), c'est qu'il est inutile d'utiliser dans un projet une classe comme celle-ci. En effet, pourquoi mettre une classe entre vous et ADO sachant qu'avec ADO, vous avez déjà tout sous la main.
En gros, je vous conseil très fortement de passer à la génération de code pour vos DAL, vous gagnerez un temps monstrueux, mais surtout 0 bug !
Amicalement,
mastervanou
Messages postés55Date d'inscriptionvendredi 20 octobre 2000StatutMembreDernière intervention13 octobre 2008 4 janv. 2007 à 21:31
merci!,merci!,merci!, je commencais a coder le même type de projet pour avoir toutes les classes d'acces aux données sous la main
comme ton travail est déjà plus abouti que le mien, je regarde ca et je rajouterai ce qui me manque
28 juil. 2010 à 16:50
Merci pour ta source, elle m'est très utile....
J'ai quand même une petite question. Avec une base SQL CE, comment fais-tu pour récupérer le dernier identity ajouté à la base? Avec SQL CE, on ne peut pas envoyer plus d'une requête à la fois...
"INSERT INTO "nom de table" ("colonne 1", "colonne 2", ...) VALUES ("valeur 1", "valeur 2", ...); SELECT @@IDENTITY" n'est donc pas possible...
Gwendal
17 juin 2009 à 14:00
Je sais pas trop quelle l'objectif que tu as en ayant creer cette classe, mais je t'encourage quand même.
Je pense que cela montre que tu as une assez bonne maitrise de ces outils de persistance qu'ado nous offre.
Certe pour des projet consequents (important) l'ideal serait d'utiliser les librairie ADO.
Mais comme etudiant ce genre de projet nous forme.
18 déc. 2007 à 19:44
From Chili
14 mai 2007 à 23:02
12 janv. 2007 à 14:01
12 janv. 2007 à 02:21
oui c'est vrai j'ai tendance un peu à abuser des try catch ...
c'est un peu la solution facile lorsqu'on n'a pas mis tous les tests en place ,pour se premunir contre tout plantage brut :p
sinon oui c'est vrai d'habitude j'utilise un booleen ou le nombre de lignes mis à jour
Oui je vois que tu es plutot un jeune chat lol mais si tu as des trucs interessants a dire vas y, ca ne pourra que faire avancer le "schmilblik", moi perso plus ca va et plus je me tourne vers le mode connecte, et j'essaie de bien separer les couches(presentation,metier,persistance + Binding entre Metier et presentation + O/R entre persistance et metier) sinon je vais me realiser (en fait je suis en plein dessus) un generateur de code complet pour la couche metier et la couche persistance qui reposera en parti sur les classes postées ici(et qui sera assez "legere") en fait
j'ai pour idée de faire un designer visuel(ressemblant un peu Power Amc cote designer) et qui permettra de generer a la fois le script de creation de la base (ACCES ou Sql Server), et le projet Visual studio(couche Metier + persistance) si vous etes sage lol peut etre que je posterai les sources sur codes-sources :p
++
11 janv. 2007 à 09:02
Pour ce qui est du débatt, je ne suis ni vieux loup ni pro des bdd, donc je m'abstiens ;)
8 janv. 2007 à 23:41
Je suis ouvert à tout (du moment que c'est dit avec suffisament de gentillesse), mon but est d'essayer d'avoir les meilleures méthodes pour programmer, ce projet est plus un début et je suis d'accord que ce n'est pas "LA" solution" car en fait on n'a une partie persistance legere mais le code qui devrait etre gerer par la persistance est en fait deplacer seulement (meme s'il s'en trouve moins volumineux), d'un autre coté les generateurs de code du marché me conviennent assez peu, j'aime maitriser tout et ne pas etre dependant d'une solution tiers
Mais je veux bien recevoir les conseils des "vieux loups" de la programmation d'application de gestion,quelles methodes eux utilisent(programmation n-tiers ? en vue de decoupler les couches ? ou non )Utilisez vous le mode deconnecté ? jusqu'a quel point,... comment gerez vous les problemes generes par le mode deconnecte et l'acces concurrentiel et enfin finalement ne preconisez vous pas de developper une solution plus en contact direct avec les données(car apres tout c'est elles qui sont importantes) et en mode connecté ...
Donc si les pros veulent participer a ce sujet(debat ?) que lance ...
concernant les meilleures méthodes de développement pour les applications de gestion aujourd'hui ... allez y :)
6 janv. 2007 à 23:27
non mes classes se basent sur un principe simple c'est que seuls quelques parametres changent d'une requete a l'autre(le command.type et le commandText + les parametres), ainsi la connection est definie automatiquement(pas besoin de la coder), et pour definir les command il suffit de passer a une procedure le commandType et le commandText , puis on ajoute les parametres en appelant juste une methode
On a un minimum de code a saisir .. seulement à appeler les methodes des classes qui font tout et leur passer uniquement les parametres importants
on n'a pas des milliers de lignes de codes pour gerer chaque table ,mais une seule classe et finalement on ne saisi que les appels aux methodes, plus l'application est grosse et plus le gain est visible et enorme
6 janv. 2007 à 13:00
Si je peux me permettre de donner un conseil aux débutants, pour partir du bon pied :
1) - si vous voulez coder vraiment votre DAL (data Access layer), utilisez Entreprise Library 2.0
2) - si vous voulez vraiment un code propre, utilisez un générateur de code, qui génèrera 100 % de votre DAL (modèle objet relationnel par exemple). MyGeneration est un très bon outil pour cela.
Mon avis (purement personnel), c'est qu'il est inutile d'utiliser dans un projet une classe comme celle-ci. En effet, pourquoi mettre une classe entre vous et ADO sachant qu'avec ADO, vous avez déjà tout sous la main.
En gros, je vous conseil très fortement de passer à la génération de code pour vos DAL, vous gagnerez un temps monstrueux, mais surtout 0 bug !
Amicalement,
4 janv. 2007 à 21:31
comme ton travail est déjà plus abouti que le mien, je regarde ca et je rajouterai ce qui me manque