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
Post a Comment