Forums Neueste Beiträge
 

DataSet erstellen und befüllen

22/02/2008 - 20:44 von Christian Havel | Report spam
Hi,

ich möchte ein DataSet mit einer Tabelle mit einem bestimmten Schema
erstellen und diese Tabelle gleich mit Daten befüllen. Sowohl das Schema als
auch die Daten sollen aus einer Zeichenkette kommen, d.h nach dem
nachstehenden Motto:

DataSet ds = new DataSet().Fill(stringSchemaAndData)
Ich benötige dies um UnitTest durchzuführen.
Das Schema kann ich mir mit dataSet.WriteXmlSchem(...) ermitteln.
Kleiner Wink, wie ich dies machen kann?
Christian
 

Lesen sie die antworten

#1 Frank Dzaebel
22/02/2008 - 21:56 | Warnen spam
Hallo Christian,

ich möchte ein DataSet mit einer Tabelle mit einem bestimmten Schema
erstellen und diese Tabelle gleich mit Daten befüllen. Sowohl das Schema
als
auch die Daten sollen aus einer Zeichenkette kommen, d.h nach dem
nachstehenden Motto:

DataSet ds = new DataSet().Fill(stringSchemaAndData)
Ich benötige dies um UnitTest durchzuführen.
Das Schema kann ich mir mit dataSet.WriteXmlSchem(...) ermitteln.
Kleiner Wink, wie ich dies machen kann?



Ein Beispiel:

private void Form1_Load(object sender, EventArgs e)
{
string xsd = @"<?xml version=""1.0"" encoding=""utf-8""?>
<xs:schema id=""tb"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
<xs:element name=""tb"" msdata:IsDataSet=""true"" msdata:Locale=""en-US"">
<xs:complexType>
<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""dat"">
<xs:complexType>
<xs:sequence>
<xs:element name=""name"" type=""xs:string"" minOccurs=""0"" />
<xs:element name=""seqnummer"" type=""xs:string"" minOccurs=""0""
/>
<xs:element name=""Gruppe"" type=""xs:string"" minOccurs=""0"" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>";

string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<tb>
<dat>
<name>Name1</name>
<seqnummer>Seq1</seqnummer>
<Gruppe>Gruppe1</Gruppe>
</dat>

<dat>
<name>Name2</name>
<seqnummer>Seq2</seqnummer>
<Gruppe>Gruppe2</Gruppe>
</dat>
</tb>";

DataSet ds = new DataSet();
ds.ReadXmlSchema(new StringReader(xsd));
ds.ReadXml(new StringReader(xml));
DataGridView dgv = new DataGridView();
Controls.Add(dgv);
dgv.DataSource = ds.Tables[0];
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen