Having problems adding new content to a xml file with dataset in C#/.NET -


i trying store info in xml using c# , .net, last info write , "submit" xml using buttonclick event. have entered overwritten.

this code :

private void lagre_click(object sender, eventargs e)     {          datatable dt = new datatable();          datacolumn dc1 = new datacolumn("fullt navn");         datacolumn dc2 = new datacolumn("start dato");         datacolumn dc3 = new datacolumn("antall dager");          dt.columns.add(dc1);         dt.columns.add(dc2);         dt.columns.add(dc3);          dt.rows.add(gjestenavninput.text, datoinnsjekk.text, antalldager.text);          dataset ds = new dataset();         ds.tables.add(dt);         ds.writexml("gjesteinfo.xml");           gjesterutenrom.items.add(gjestenavninput.text);          gjestenavninput.text = "";         datoinnsjekk.text = "";         antalldager.text = "";       } 

i tried put construction of datatable, datacolumn , dataset outside button event, not store data in xml. maybe there problem dt.rows.add etc., dont know how else write it. ideas?


thanks effort far, ryanwh. :) have tried play around suggestions, maybe misunderstood did :

private void initdatatable()     {         dt = new datatable();         dataset ds = new dataset();         ds.readxml("gjesteinfo.xml");         dt = ds.tables[0];           if (dt.columns == null){        datacolumn dc1 = new datacolumn("fullt navn");        datacolumn dc2 = new datacolumn("start dato");        datacolumn dc3 = new datacolumn("antall dager");          dt.columns.add(dc1);         dt.columns.add(dc2);         dt.columns.add(dc3);         }          ds.writexml("gjesteinfo.xml");      }        private void lagre_click(object sender, eventargs e)     {          initdatatable();          dt.rows.add(gjestenavninput.text, datoinnsjekk.text, antalldager.text);          gjesterutenrom.items.add(gjestenavninput.text);          gjestenavninput.text = "";         datoinnsjekk.text = "";         antalldager.text = "";       } 

this produce same outcome. overwrites old content in xml file.

i solved using merging suggested david s.

here did :

    datatable dt;      private void initdatatable()     {         dt = new datatable();         dataset ds = new dataset();         ds.readxml("gjesteinfo.xml");         ds.tables.add(dt);          datacolumn dc1 = new datacolumn("fullt navn");         datacolumn dc2 = new datacolumn("start dato");         datacolumn dc3 = new datacolumn("antall dager");          dt.columns.add(dc1);         dt.columns.add(dc2);         dt.columns.add(dc3);          dt.rows.add(gjestenavninput.text, datoinnsjekk.text, antalldager.text);          ds.merge(dt); //merging dataset table , preventing overwritten          ds.writexml("gjesteinfo.xml");      }        private void lagre_click(object sender, eventargs e)     {          initdatatable();          dt.rows.add(gjestenavninput.text, datoinnsjekk.text, antalldager.text);          gjesterutenrom.items.add(gjestenavninput.text);          gjestenavninput.text = "";         datoinnsjekk.text = "";         antalldager.text = "";       } 

Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -