dataset.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System;
  2. using System.IO;
  3. using System.Xml.Serialization;
  4. using System.Data;
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. Test t=new Test();
  10. t.Create("dataset.xml");
  11. t.Read("dataset.xml");
  12. }
  13. private void Create(string filename)
  14. {
  15. XmlSerializer ser=new XmlSerializer(typeof(DataSet));
  16. /* Create a new DataSet; add a table, column and ten rows */
  17. DataSet ds=new DataSet("myDataSet");
  18. DataTable t=new DataTable("table1");
  19. DataColumn c=new DataColumn("thing");
  20. t.Columns.Add(c);
  21. ds.Tables.Add(t);
  22. DataRow r;
  23. for(int i=0; i<10; i++) {
  24. r=t.NewRow();
  25. r[0]="Thing "+i;
  26. t.Rows.Add(r);
  27. }
  28. TextWriter writer=new StreamWriter(filename);
  29. ser.Serialize(writer, ds);
  30. writer.Close();
  31. }
  32. private void Read(string filename)
  33. {
  34. XmlSerializer ser=new XmlSerializer(typeof(DataSet));
  35. FileStream fs=new FileStream(filename, FileMode.Open);
  36. DataSet ds;
  37. ds=(DataSet)ser.Deserialize(fs);
  38. fs.Close();
  39. Console.WriteLine("DataSet name: "+ds.DataSetName);
  40. Console.WriteLine("DataSet locale: "+ds.Locale.Name);
  41. foreach(DataTable t in ds.Tables)
  42. {
  43. Console.WriteLine("Table name: "+t.TableName);
  44. Console.WriteLine("Table locale: "+t.Locale.Name);
  45. foreach(DataColumn c in t.Columns)
  46. {
  47. Console.WriteLine("Column name: "+c.ColumnName);
  48. Console.WriteLine("Null allowed? "+c.AllowDBNull);
  49. }
  50. foreach(DataRow r in t.Rows)
  51. {
  52. Console.WriteLine("Row: "+(string)r[0]);
  53. }
  54. }
  55. }
  56. }