IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#][VS2003] Besoin de conseil pour création d'une application (agenda)


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut [C#][VS2003] Besoin de conseil pour création d'une application (agenda)
    Bonjour,

    j'aimerais développer une sorte d'agenda électronique avec VS2003, en C#.

    On pourrait créer des catégories (famille, ami, travail, etc) et y ajouter des contacts (nom, prénom, adresse, tel, etc), avec quelques chiffres (nombre de contacts, par exemple).
    Ces informations seraient enregistrées afin que l'utilisateur puisse consulter la liste des contacts, les modifier ou en ajouter, quand il veut.

    Seulement je ne sais pas trop comment m'y prendre.
    Il faudrait je pense gérer une base de donnée, parce qu'entrer les informations dans un fichier n'est pas ce qu'il y a de plus pratique.

    Je me suis un peu baladé sur les faqs et tuto à propos d'ADO.NET mais je ne sais pas trop vers où me diriger.
    J'ai un minimum de connaissances en base de données relationnel-objet, et requêtes SQL, et ai déjà développé quelques applications simples avec VS2003 (éditeur de texte, visionneuse d'images, des trucs dans le genre).

    Auriez-vous des conseils à me donner svp ?

    Merci .

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Points : 616
    Points
    616
    Par défaut
    J'ai développé une petite appli qui avait besoin d'un agenda ...
    Perso je l'ai fait 2 fois de 2 manieres
    1) Utilisation de Outlook (super pas pratique mais bon c"etait le souhait de mon client)
    2) une simple base MySql ...

    Donc mon appli (apres identification) se connaictait à la base de donné de l'utilisateur et rechargeait dans une form son emploi du temps et dans une autre la liste (version liens) de ses contacts ...
    Ca marche plutot bien

    Si tu veux plus de détails n'hesite pas
    Je pense volontiers à penser aux choses auxquelles je pense que les autres ne penseront pas

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    En fait, mon application sera uniquement local. Il n'y aura aucune connexion à un serveur quelconque.
    Je dois créer ma base de données moi-même, base de données qui contiendra les tables nom, prenom, adresse, etc.
    Au lancement de l'application, l'utilisateur qui choisit l'option "ajouter un contact" va insérer les informations dans les tables via l'interface proposée, ou les mettre à jour s'il choisit l'option "modifier un contact".

    Voilà des screens pour monter brièvement ce que ça donne.

    L'apparence (non définitive) de l'application.


    Le formulaire d'ajout :

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Est-ce qu'on peut se créer une base de données à laquelle l'application se connecte localement, sans passer par un serveur ?
    Si oui, pourriez-vous m'aiguiller svp ?

    En fait j'ai essayé la partie de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    string strConnexion = "Data Source=localhost; Integrated Security=SSPI;" + "Initial Catalog=Northwind";
                try
                {
                    SqlConnection oConnection = new SqlConnection(strConnexion);
                    oConnection.Open();
                    Console.WriteLine("Etat de la connexion : " + oConnection.State);
                    oConnection.Close();
                }
                catch (Exception x)
                {
                    // gestion de l'exception blabla...
                }
    Je ne sais pas comment créer ma base de données à laquelle me connecter.

  5. #5
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 084
    Points
    2 084
    Par défaut
    Le plus simple serait que tu utilises une source de donnée sous forme de fichier XML.

    Je suis en train de faire un composant calendrier justement tiens.

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Points : 616
    Points
    616
    Par défaut
    Mais heu ... pourquoi tu ne veux pas utiliser un petit mysql local ... il y a rien de plus simple

    Tu installes mysql (gratruit) et tu t'y connecte grace à la Dll Msql du Framework

    Ainsi tu peux te créer tes tables facilement
    Je pense volontiers à penser aux choses auxquelles je pense que les autres ne penseront pas

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Pour écrire dans un fichier XML, j'ai utilisé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private void  Form1_Load(object sender, System.EventArgs e)
              {
                   XmlDocument xmlDoc = new  XmlDocument();
                   xmlDoc.Load("data.xml");
    
                   DataSet ds = new  DataSet();
                   XmlNodeReader xnr = new  XmlNodeReader(xmlDoc);
                   ds.ReadXml(xnr);
    
                   dataGrid1.DataSource = ds;
                   
                   dataGrid1.NavigateTo(0,"voiture");
              }
    Ce code vient de cette page : http://csharpro.developpez.com/page4.php

    J'ai une exception : erreur système.
    J'ai bien crée le fichier "data.xml", et l'ai bien mis là où il fallait...
    Je ne sais pas d'où vient l'exception :\

    Mais l'idée des fichiers XML me plait bien

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par notalp
    Mais heu ... pourquoi tu ne veux pas utiliser un petit mysql local ... il y a rien de plus simple

    Tu installes mysql (gratruit) et tu t'y connecte grace à la Dll Msql du Framework

    Ainsi tu peux te créer tes tables facilement
    Je possède EasyPHP pour le moment, suffit-il ?
    Si non...j'essaierai de me procurer MySQL...

  9. #9
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 084
    Points
    2 084
    Par défaut
    La solution XML est de loin la plus simple pour un futur déploiement via un fichier d'installation unique.

    Bon courage pour faire installer une BDD MySql sur le poste des futurs utilisateurs...!!

    (même sans parler des drivers ODBC MySql qui sont pas mal bugués)

    Quelle est le type de l'exception et à quelle ligne?

  10. #10
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Ah...je pensais en fait me créer une base de données qui serait gérée dans un fichier unique, et modifier à chaque ajout de contact par un utilisateur. C'est pas du tout ça ?
    S'il faut installer la SGBD sur les postes d'autres utilisateurs, c'est nul oui...

    Va pour le XML .

    En fait l'exception a l'air de concerner cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlDoc.Load("data.xml");
    Voilà le message de l'exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Une exception non gérée du type 'System.Xml.XmlException' s'est produite dans system.xml.dll
     
    Informations supplémentaires : Erreur système.

  11. #11
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 084
    Points
    2 084
    Par défaut
    Ton fichier XML doit sûrement être malformé?

  12. #12
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    J'ai repris celui décrit ici : http://csharpro.developpez.com/page4.php

  13. #13
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Je viens de penser à un truc... Si je veux permettre d'afficher la liste de tous les contacts déjà présents, de pouvoir trier par âge, nom, location... C'est faisable avec XML ?

    Je me demande si via les requêtes SQL c'est pas mieux.
    Et dans ce cas là, il vaut mieux que je crée un serveur SQL... Ce serait dommage quand même, de devoir se connecter au net pour pouvoir ajouter ou modifier ses contacts .

  14. #14
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    Sinon si tu veux un truc simple. tu crée une base access (pas besoin d'acces, juste de Jet qui est installé normalement par défaut) c'est simple, c'est rapide en local bref que des avantages.

  15. #15
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut
    Salut,
    je ne sais pas si l'XML est toujours en vue dans ton développement mais si tel est le cas utilise le comme une base de donnée...
    Il suffit d'instancier un DataSet puis d'y charger ton XML via la fonction .ReadXML().
    De même tu crés/sauvegardes le contenu de ton DataSet dans un fichier XML via le fonction .WriteXML().
    De ce fait tu peux travailler exactement comme avec une bdd sans l'obligation d'installation de cette dernière et avec la facilité d'import/export/sauvagearde/restauration des données.
    Pensez aux règles et au qui rime avec !

  16. #16
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Je ne savais pas qu'on pouvait manipuler un fichier XML comme une base de données. Si on peut y faire des requêtes et obtenir le résultat que je veux, je me contenterai de ça. Merci de l'information Toniolol.

    Sinon, j'essaierai la méthode d'AP, via Access.

    Merci à vous 2, je vous tiendrai au courant via ce topic.

  17. #17
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    J'ai essayé de chargé mon fichier XML suivant (data.xml) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="utf-8"?><br>
    <concessionnaire><br>
         <voiture><br>
              <marque> peugeot </marque><br>
              <modele> 206 CC </modele><br>
              <vitesse> 230 </vitesse><br>
         </voiture><br>
         <voiture><br>
              <marque> renault </marque><br>
              <modele> scenic </modele><br>
              <vitesse> 180 </vitesse><br>
         </voiture><br>
         <voiture><br>
              <marque> peugeot </marque><br>
              <modele> 307 </modele><br>
              <vitesse> 190 </vitesse><br>
         </voiture><br>
         <voiture><br>
              <marque> ferrari </marque><br>
              <modele> 348 </modele><br>
              <vitesse> 350 </vitesse><br>
         </voiture><br>
    </concessionnaire>
    Avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void FormTest_Load(object sender, System.EventArgs e)
    {
          DataSet ds = new DataSet();
          ds.ReadXml("C:\\Le chemin d'acces\\...\\data.xml");
    }
    J'ai toujours une exception de ce type :
    Une exception non gérée du type 'System.Xml.XmlException' s'est produite dans system.xml.dll

    Informations supplémentaires : Erreur système.
    Ca se situe au niveau du ds.ReadXml("data.xml");
    Le fichier xml n'est pas aux normes ?
    Une idée svp ?

  18. #18
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut
    Salut,
    je pense que si tu enlèves les retour à la ligne (<BR>) qui n'ont rien à faire dans un fichier XML ça devrait tourner.
    D'ailleurs d'où sortent-t'ils ces <BR> ?
    Pensez aux règles et au qui rime avec !

  19. #19
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    copier coller de code source HTML ?
    sinon je confirme, exit les BR

  20. #20
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Exact, ça vient effectivement d'un coee HTML...je vous remercie.
    J'avais repris le data.xml d'ici : http://csharpro.developpez.com/page4.php

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/04/2014, 14h02
  2. [AC-2010] Conseil pour création d'une table achat et de stock
    Par zebda dans le forum Modélisation
    Réponses: 5
    Dernier message: 15/03/2011, 12h11
  3. Réponses: 2
    Dernier message: 22/07/2009, 22h36
  4. Réponses: 8
    Dernier message: 06/12/2008, 17h32
  5. Réponses: 4
    Dernier message: 06/12/2006, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo