Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GENEREREQUÊTE


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : générateur, SQL, polymorphisme, objet Niveau : Initié Date de création : 02/03/2008 Vu / téléchargé: 3 738 / 214

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Un générateur de requète SQL
Utilisation des ArrayList, fonction polymorphe
Peut se connecter sur une base MySQL ou SQLServer mais la modification des classes peur permettre plus de connexions
Programme objet

 

Conclusion

C'est mon premier post, j'ai trouver interessant de mettre cette source, soyez indulgent :)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de tmcuh le 03/03/2008 10:26:26 9/10

Idée forte intéressante. Il faudrait prévoir un système de génération de code par objet. J'ai déjà commencé le codage de ça, mais jamais terminé :)

CommandSelect cmd = new CommandSelect();

            From frm = new From("bonjour", "test");
            cmd.Distinct = true;
            cmd.Top = new Top(true, 5);
            cmd.Fields.Add("","sum(id1)", "SumId1");
            cmd.Fields.Add("Table1", "id1", string.Empty);
            cmd.Fields.Add("Table1", "id2", "Key");
            cmd.Fields.Add("Table1", "Name", string.Empty);
            cmd.Fields.Add("Table1", "Name", "TheName");
            cmd.AddFrom("Table1");
            cmd.AddFrom("Table2");
            cmd.AddJoin(JoinType.LeftOuterJoin, "TableExt", new Where("Table1.id1", "TableExt.id1"), new Where("Table1", "id2", "TableExt", "Id2"), new Where("Table1.Id1", "SysColumns", OperatorType.Different));
            cmd.AddWhereClause(new Where(new Member("Table1","Name"), "32,43", OperatorType.NotIn));
            MessageBox.Show(cmd.ToString());

Grâce à ce système tu code de façon totalement universelle, un peu comme tu le fais, et ensuite il te reste à adapter la méthode ToString() aux différents Provider : Oracle, MySQL, Ms Sql, Postgres, etc.

Amicalement,
Tmcuh

signaler à un administrateur
Commentaire de donald42 le 03/03/2008 13:56:48

Merci pour ce commentaire, je vais essayer ton idée.
Si j'arrive à mes fins je modifierai ce post et mettrai à jour mon code.

Amicalement
Donald42

signaler à un administrateur
Commentaire de tmcuh le 03/03/2008 14:00:56

Je peux t'avancer en te fournissant le code que j'ai déjà fait... c'est très très long comme process car il y a tellement de cas de figures qu'il faut créer une multitude de class.

signaler à un administrateur
Commentaire de donald42 le 03/03/2008 14:04:40

Je suis très interessé par ton idée. Tu peux m'envoyer ton code sur scoubidou_61@hotmail.com.

signaler à un administrateur
Commentaire de donald42 le 03/03/2008 21:13:07

Merci pour ton code.
J'ai cependant une petite question.
Je remarque que tu cré une classe pour chaque partie de la requête (from, join,...)
Ca me paraît une très bonne idée. Je me demande seulement l'intérêt de la serialisation de ces objet. Ton code est nettement supérieur à mon niveau donc je pense qu'il y a une très bonne raison mais j'ai du mal a saisir laquelle peut tu me l'expliqué?

signaler à un administrateur
Commentaire de tmcuh le 04/03/2008 09:00:50

Bonjour,
Je fais celà pour plusieurs raisons la première serait qu'on ne mélange pas tous les objets en un seul, la paramétrisation d'un objet deviendrait trop compliqué et on perdrait en rapidité de développement; sans parler qu'il faudrait retenir "comment faire pour".
La seconde est une question d'héritage. Lorsque tu passe en paramètre, plusieurs clauses where (de façon indéfini), tu es obligé de passer par des héritages (new where(paramètres)), qui te permette de définir un objet, et tu traite ainsi chaque objet indépendant de celui précédemment créer.
C'est une question de souplesse de programmation, mais aussi de rapidité d'exécution. Il y a différentes façon d'attaquer le problème, mais tu reviendra toujours à la source... les classes + propriétés.
Pour ce qui est de la sérialisation de l'objet "commandselect", j'y été occupé au moment où j'ai arreté, le but était de mettre le tout dans un fichier xml, permettant le transport de l'information, ainsi que la modification par "l'utilisateur". Le système réagit ainsi plus souplement, mais toujours au détriment des performances.

Amicalement,
Tmcuh

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Accès à un même objet depuis 2 webservices, sérialisation [ par rstboris ] Salut,Je developpe actuellement un webservice qui doit gérer des accès à une base de donnée et renvoyant des objets de type "Perso Passer un objet à une autre class [ par fredspv ] Bonjour,J'ai un WinForm et un usercontrolle WinForm instance usercontrol et le met dans un Panel.Comment faire pour passer le usercontrol instanci&#23 [C#] WebServices, IWAM, SQL Server and Co. [ par nerix27 ] Bonjour,une p'tite question à vous soumettre...J'ai installé un web service sur un serveur du domaine (le contrôleur principal) qui g&# combobox et requete sql [ par kakol ] Rebonjour,j'ai utilise string choix = comboBox1.SelectedText.ToString(); pour selectionner le texte de ma combobox. Ce texte est le nom d'une table de client/serveur [ par OxN ] Bonjour je souhaterai créer un client qui se connecte, envoi une chaine de caractères, et se deconnecte, tout en cliquant sur un bouton. Et un serveur Datagrid C# et Sql [ par vinvinvinvin ] YO !Voila je suis novice en Csharp et je vous explik mon projet.Je voudrais faire un pti log de gestion d'une collection de cd assez simple.Les cd son Probleme de requete SQL [ par JuGuuL ] Bonjour, Ceci est plus une question SQL que C# mais bon, vu que je le fais en C# !!! J'ai une connexion a une base de donnée Access Quand je f Apprendre les datalist [ par engelho ] Bonjour tout le monde,Je me retrouve a travailler sur un projet développé par quelqu'un d'autre. Or ce quelqu'un d'autre à massivement Crystal report et sql server [ par paloxicide ] Je crée un formulaire form1.cs et ensuite je mets en place un crystal report qui va me permettre d'afficher le nom des personnes qui se trouve su Solution pour Base de données SQL??? [ par rigodon ] Bonjour, nous avons crée un logiciel en C# cependant nous utilisons une base de données SQL Server.  Nous désirons instauré n


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.