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 !

P'TIT LIVRE D'OR EN C# AVEC UN FICHIER XML POUR STOCKER LES DONNEES


Information sur la source

Description

P'tit livre d'or en c# avec un fichier xml pour stocker les donnees (Juillet 2004)
----------------------------------------------------------------------------------------------------

Voici un p'tit livre d'or pour debutant utilisant un fichier XML
pour stocker les données plutôt qu'une base comme sql serveur, msde ou access
ce qui vous permettra d'utiliser cette methode sur un grand nombre d'hébergeurs.


Pour faire tourner ce script :
--------------------------------------

Ouvrez le fichier commentfile.aspx et executez le tout simplement.


C'est mon tout premier code en c#...

 

Source

  • <%@ Page Language="C#" %>
  • <%@ import Namespace="System.Data" %>
  • <%@ import Namespace="System.IO" %>
  • <script runat="server">
  • void Page_Load(Object sender, EventArgs e)
  • {
  • DataSet DataSet1 = new DataSet();
  • DataTable DataTable1 = new DataTable();
  • try
  • {
  • DataSet1.ReadXml( HttpContext.Current.Server.MapPath("commentaires.xml"), XmlReadMode.InferSchema);
  • DataTable1 = DataSet1.Tables[0];
  • }
  • catch
  • {
  • DataTable1 = DataSet1.Tables.Add("Commentaires");
  • DataTable1.Columns.Add("Nom");
  • DataTable1.Columns.Add("Commentaire");
  • DataTable1.Columns.Add("Date");
  • }
  • /*IsPosBack propriete nous renseignant si
  • le chargement se fait suite à un clic (true), ou si elle est chargée pour la première fois (false)*/
  • /* Si chargement est VRAI */
  • if ( IsPostBack == true )
  • {
  • /* SI LE TEXTBOXNOM N EST PAS VIDE */
  • if (TextBoxNom.Text != "")
  • {
  • DataRow ligne = DataTable1.NewRow(); //NOUVELLE LIGNE
  • DateTime todayDate = DateTime.Now;
  • ligne[DataTable1.Columns[0].Caption] = Server.HtmlEncode(TextBoxNom.Text);
  • ligne[DataTable1.Columns[1].Caption] = Server.HtmlEncode(TextBoxComment.Text);
  • ligne[DataTable1.Columns[2].Caption] = String.Format("{0:g}", todayDate);
  • //AJOUTONS LA LIGNE
  • DataTable1.Rows.Add(ligne);
  • //MISE A BLANC DES TEXTBOX
  • TextBoxNom.Text = "";
  • TextBoxComment.Text = "";
  • }
  • try
  • {
  • //ecriture
  • DataSet1.WriteXml( HttpContext.Current.Server.MapPath("commentaires.xml"));
  • }
  • catch
  • {
  • //erreur
  • Label1.Text = "Impossible d'enregistrer...
  • }
  • }
  • DataView DataView1 = DataSet1.Tables[0].DefaultView;
  • DataGrid1.DataSource = DataView1;
  • DataGrid1.DataBind();
  • }
  • /* SUPPRESSION DU FICHIER XML CONTENANT LES DONNEES */
  • void Btndelete_Click(object sender, EventArgs e)
  • {
  • //declaratoin variable contenant le chemin du fichier
  • string chemin = @"D:\\Envoit\\last\\commentaires.xml";
  • /* Détermine si le fichier spécifié existe */
  • if (File.Exists(chemin))
  • {
  • File.Delete(chemin);
  • }
  • }
  • </script>
<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<script runat="server">

    void Page_Load(Object sender, EventArgs e)
       {
    
         DataSet DataSet1 = new DataSet();
         DataTable DataTable1 = new DataTable();
    
         try
           {
           DataSet1.ReadXml( HttpContext.Current.Server.MapPath("commentaires.xml"), XmlReadMode.InferSchema);
           DataTable1 = DataSet1.Tables[0];
           }
         catch
           {
           DataTable1 = DataSet1.Tables.Add("Commentaires");
           DataTable1.Columns.Add("Nom");
           DataTable1.Columns.Add("Commentaire");
           DataTable1.Columns.Add("Date");
           }
    
         /*IsPosBack propriete nous renseignant si
         le chargement se fait suite à un clic (true), ou si elle est chargée pour la première fois (false)*/
    
         /* Si chargement est VRAI */
         if ( IsPostBack == true )
           {
    
           /* SI LE TEXTBOXNOM N EST PAS VIDE */
            if (TextBoxNom.Text != "")
            {
             DataRow ligne = DataTable1.NewRow(); //NOUVELLE LIGNE
             DateTime todayDate = DateTime.Now;
             ligne[DataTable1.Columns[0].Caption] =       Server.HtmlEncode(TextBoxNom.Text);
             ligne[DataTable1.Columns[1].Caption] =       Server.HtmlEncode(TextBoxComment.Text);
             ligne[DataTable1.Columns[2].Caption] = String.Format("{0:g}", todayDate);
    
             //AJOUTONS LA LIGNE
             DataTable1.Rows.Add(ligne);
    
            //MISE A BLANC DES TEXTBOX
            TextBoxNom.Text = "";
            TextBoxComment.Text = "";
    
           }
           try
             {
             //ecriture
             DataSet1.WriteXml( HttpContext.Current.Server.MapPath("commentaires.xml"));
             }
           catch
             {
             //erreur
             Label1.Text = "Impossible d'enregistrer...
             }
           }
         DataView DataView1 = DataSet1.Tables[0].DefaultView;
         DataGrid1.DataSource = DataView1;
         DataGrid1.DataBind();
    
       }
    
    
    /* SUPPRESSION DU FICHIER XML CONTENANT LES DONNEES */
    void Btndelete_Click(object sender, EventArgs e)
    {
    
    //declaratoin variable contenant le chemin du fichier
    string chemin = @"D:\\Envoit\\last\\commentaires.xml";
    
    /* Détermine si le fichier spécifié existe */
    
       if (File.Exists(chemin))
                {
    
               File.Delete(chemin);
               }
    
    }

</script>

Conclusion


Enjoy

Christophe

http://membres.lycos.fr/annmysql/
 

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 jesusonline le 23/07/2004 22:31:36 administrateur CS

Ta source m'a l'air pas mal, il montre facilement comment lire et ecrire dans un fichier xml via un dataset, par contre à quoi sert la fonction Btndelete_Click ? tu as un bouton dans la page qui te permet de supprimer le livre d'or ?

Je comprend pas tout :(

en tout cas bonne gestion des erreurs, j'ai juste lu le code vite fait, mais ca m'a l'air assez bien :)

Un conseil : ecrit tes sources en VB car beaucoup de monde ne comprennent pas le C#, si tu veux je peux te le traduire en VB :)

@+

signaler à un administrateur
Commentaire de jimmy69 le 24/07/2004 10:55:19

Salut salut cyril,

Merci pour ton comment...

J'ai mis un bouton pour efface le livre d'or afin de montrer au debutant comme moi comme il etait assez simple de supprimer un fichier en c#...

Maintenant si certains internautes devaient utilisent ce systeme c'est a eux de faire en sorte pour que le bouton ne soit pas accessible ...

Je prepare une source sur les gachettes ou triggers :-)

Bon week end cyril

Ciao

Christophe

signaler à un administrateur
Commentaire de francois1972 le 03/08/2004 19:56:17

Je l'ai essayer sur mon serveur à la maison. Je manque un peu de connaissance mais ca me dit qu'il ne peut pas enregistrer les commentaires dans le fichiers xml.

Auriez-vous une solution simple et facile.

Merci
François Caron

signaler à un administrateur
Commentaire de jesusonline le 03/08/2004 20:10:22 administrateur CS

tu as accordé les droits d'ecritures ?
pour cela va dans demarrer parametre panneau de config, service internet (IIS) tu vas dans ton dossier, puis propriété et tu coches le droit d'ecrire.

signaler à un administrateur
Commentaire de billyboy262 le 05/12/2007 00:03:47

Je peut vous dire un gros merci pour ce script cé la premiere fois que je peut enregistrer un commentaire dans mon livre d or cé dur en avoir un aussi facilement parce que je suis en iis et cé pas evident je debute...

signaler à un administrateur
Commentaire de jimmy69 le 05/12/2007 18:25:16

Heps,

tant mieux, codes sources et la pour ca ..

A bientot..
Christophe

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

j'arrive pas à lire un xml avec xmldocument [ par pmoury ] je recupere un xml dans un string mais impossible de le lire pour recuperer le resultat avec xlmdocument au moment du load, j'ai un erreurmon code :mo Dataset et xml [ par sboutorine ] Bonjour, J'aimerais savoir comment il est possible de r&#233;cup&#233;rer une ou plusieurs lignes d'un datatable quand le champs &#224; interrog&#233; convérsion de XML en DOM [ par c_ensias ] Bonjour, Comment conv&#233;rtir un fichier xml en son &#233;quivalent : l'arbre DOM? Comment afficher cette arbre dans un contr&#244;le? Merci d'avanc menu dynamique en xml [ par 070107198 ] rachbonjour Svp, je travail sur un projet web en ASP2.0 est ce que qlq peut m'indiquer comment peut-on faire pour afficher un menu dynamique en foncti lire un fichier xml [ par mictif ] bonjour, j'aimerais lire mon fichier xml afin de donner le text &#224; mes differents composants en fonction de la langue du client. j'ai donc un fi lire du XML et le parser comme il faut [ par Troyan ] bonjour,je re&#231;ois un flux XML que je dois lire et r&#233;cup&#233;rer certaines valeursmais ces valeurs son aussi bien en attributs qu'en valeurb Serialisation/deserialisation XML SOAP .NET [ par hic78 ] Bonjour, J'utilise un client proxy en C# pour interroger un web service SOAP/Java Voici le code de la classe: using System.Diagnostics; using System RSS et publication [ par gyzmo222 ] Salut,Mon probl&#232;me n'est surement pas tr&#232;s compliqu&#233; mais je ne m'y connais vraiment pas en rss.J'ai r&#233;ussi &#224; cr&#233;er un r problème xml et xslt [ par c_ensias ] Bonjour &#224; tous,J'ai un fichier xml dont j'ai appliqu&#233; un filtre xslt pour en extraire des donn&#233;es.Je voudrais que la sortie soit un fic XML et xsd [ par Troyan ] Bonjour,je recois un fichier XMl d'un client mais je dois constituer un xsd pour pouvoir utiliser l'objet SQLXMLBulkload.3.0qui attends 2 fichiers en


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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,390 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é.