Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DataSet-Klasse

 

Veröffentlicht: Oktober 2016

Stellt einen speicherresidenten Datencache dar.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)


[SerializableAttribute]
public class DataSet : MarshalByValueComponent, IListSource, 
	IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, 
	ISerializable

NameBeschreibung
System_CAPS_pubmethodDataSet()

Initialisiert eine neue Instanz der DataSet-Klasse.

System_CAPS_protmethodDataSet(SerializationInfo, StreamingContext)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Initialisiert eine neue Instanz von einer DataSet Klasse, die den angegebenen Serialisierungsinformationen und dem Kontext verfügt.

System_CAPS_protmethodDataSet(SerializationInfo, StreamingContext, Boolean)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Initialisiert eine neue Instanz der DataSet-Klasse.

System_CAPS_pubmethodDataSet(String)

Initialisiert eine neue Instanz der eine DataSet Klasse mit dem angegebenen Namen.

NameBeschreibung
System_CAPS_pubpropertyCaseSensitive

Ruft ab oder legt einen Wert, der angibt, ob bei Zeichenfolgenvergleichen in DataTable Objekte Groß-/Kleinschreibung beachtet.

System_CAPS_pubpropertyContainer

Ruft den Container für die Komponente.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubpropertyDataSetName

Ruft ab oder legt den Namen des aktuellen DataSet.

System_CAPS_pubpropertyDefaultViewManager

Ruft eine benutzerdefinierte Ansicht der Daten in der DataSet zu filtern, suchen und Navigieren durch die Verwendung eines benutzerdefinierten DataViewManager.

System_CAPS_pubpropertyDesignMode

Ruft einen Wert, der angibt, ob die Komponente derzeit im Entwurfsmodus befindet.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubpropertyEnforceConstraints

Ruft ab oder legt einen Wert, der angibt, ob Einschränkungsregeln befolgt werden, wenn Sie versuchen, alle Update-Vorgang.

System_CAPS_protpropertyEvents

Ruft die Liste der Ereignishandler, die dieser Komponente zugeordnet sind.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubpropertyExtendedProperties

Ruft die Auflistung benutzerdefinierter Informationen über die DataSet.

System_CAPS_pubpropertyHasErrors

Ruft einen Wert, der angibt, ob Fehler in eines der DataTable Objekte innerhalb dieses DataSet.

System_CAPS_pubpropertyIsInitialized

Ruft einen Wert, der angibt, ob die DataSet initialisiert wird.

System_CAPS_pubpropertyLocale

Ruft ab oder legt die Gebietsschemainformationen, die zum Vergleichen von Zeichenfolgen innerhalb der Tabelle.

System_CAPS_pubpropertyNamespace

Ruft ab oder legt den Namespace der DataSet.

System_CAPS_pubpropertyPrefix

Ruft ab oder legt ein XML-Präfix, Aliase den Namespace der DataSet.

System_CAPS_pubpropertyRelations

Ruft die Auflistung der Beziehungen, die Tabellen verknüpfen und Navigation von übergeordneten Tabellen zu untergeordneten Tabellen.

System_CAPS_pubpropertyRemotingFormat

Ruft ab oder legt einen SerializationFormat für die DataSet beim Remoting verwendet.

System_CAPS_pubpropertySchemaSerializationMode

Ruft ab oder legt einen SchemaSerializationMode für eine DataSet.

System_CAPS_pubpropertySite

Ruft eine System.ComponentModel.ISite für den DataSet ab oder legt diese fest.(Überschreibt MarshalByValueComponent.Site.)

System_CAPS_pubpropertyTables

Ruft die Auflistung von Tabellen in der DataSet.

NameBeschreibung
System_CAPS_pubmethodAcceptChanges()

Führt einen Commit für alle Änderungen an dieser DataSet seit dem Laden oder seit dem letzten AcceptChanges aufgerufen wurde.

System_CAPS_pubmethodBeginInit()

Beginnt die Initialisierung einer DataSet, die in einem Formular oder von einer anderen Komponente verwendet wird. Die Initialisierung erfolgt zur Laufzeit.

System_CAPS_pubmethodClear()

Löscht die DataSet aller Daten, indem alle Zeilen in allen Tabellen entfernt.

System_CAPS_pubmethodClone()

Kopiert die Struktur der DataSet, einschließlich aller DataTable Schemas, Beziehungen und Einschränkungen. Alle Daten werden nicht kopiert werden.

System_CAPS_pubmethodCopy()

Kopiert die Struktur und die Daten für dieses DataSet.

System_CAPS_pubmethodCreateDataReader()

Gibt eine DataTableReader mit einem Resultset pro DataTable, in der Reihenfolge der Tabellen angezeigt werden, in der Tables Auflistung.

System_CAPS_pubmethodCreateDataReader(DataTable[])

Gibt eine DataTableReader mit einem Resultset pro DataTable.

System_CAPS_protmethodDetermineSchemaSerializationMode(SerializationInfo, StreamingContext)

Bestimmt die SchemaSerializationMode für eine DataSet.

System_CAPS_protmethodDetermineSchemaSerializationMode(XmlReader)

Bestimmt die SchemaSerializationMode für eine DataSet.

System_CAPS_pubmethodDispose()

Gibt alle vom MarshalByValueComponent verwendeten Ressourcen frei.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_protmethodDispose(Boolean)

Gibt die von MarshalByValueComponent verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubmethodEndInit()

Beendet die Initialisierung einer DataSet, die in einem Formular oder von einer anderen Komponente verwendet wird. Die Initialisierung erfolgt zur Laufzeit.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubmethodGetChanges()

Ruft eine Kopie der DataSet enthält alle Änderungen, die seit dem Laden oder seit vorgenommen AcceptChanges zuletzt aufgerufen wurde.

System_CAPS_pubmethodGetChanges(DataRowState)

Ruft eine Kopie der DataSet enthält alle Änderungen, die seit dem letzten Laden oder seit vorgenommen AcceptChanges wurde aufgerufen, gefiltert nach DataRowState.

System_CAPS_pubmethodSystem_CAPS_staticGetDataSetSchema(XmlSchemaSet)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft eine Kopie des XmlSchemaSet für das DataSet.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Füllt ein Serialisierungsinformationsobjekt mit den zum Serialisieren von Daten der DataSet.

System_CAPS_protmethodGetSchemaSerializable()

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt ein serialisierbares T:System.Xml.Schema.XMLSchema Instanz.

System_CAPS_protmethodGetSerializationData(SerializationInfo, StreamingContext)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Deserialisiert die Tabellendaten aus dem Binär- oder XML-Stream.

System_CAPS_pubmethodGetService(Type)

Ruft die Implementierung der IServiceProvider.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodGetXml()

Gibt die XML-Darstellung der Daten in der DataSet.

System_CAPS_pubmethodGetXmlSchema()

Gibt das XML-Schema für die XML-Darstellung der Daten in der DataSet.

System_CAPS_pubmethodHasChanges()

Ruft einen Wert, der angibt, ob die DataSet ändert, einschließlich der neue, gelöschte oder geänderte Zeilen verfügt.

System_CAPS_pubmethodHasChanges(DataRowState)

Ruft einen Wert, der angibt, ob die DataSet Änderungen, einschließlich der neue, gelöschte oder geänderte Zeilen, gefiltert nach DataRowState.

System_CAPS_pubmethodInferXmlSchema(Stream, String[])

Wendet das XML-Schema aus dem angegebenen Stream an die DataSet.

System_CAPS_pubmethodInferXmlSchema(String, String[])

Wendet das XML-Schema aus der angegebenen Datei in die DataSet.

System_CAPS_pubmethodInferXmlSchema(TextReader, String[])

Wendet das XML-Schema aus dem angegebenen TextReader an die DataSet.

System_CAPS_pubmethodInferXmlSchema(XmlReader, String[])

Wendet das XML-Schema aus dem angegebenen XmlReader an die DataSet.

System_CAPS_protmethodInitializeDerivedDataSet()

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Alle Tabellendaten des Datasets aus dem Binär- oder XML-Stream deserialisiert werden.

System_CAPS_protmethodIsBinarySerialized(SerializationInfo, StreamingContext)

Überprüft das Format der serialisierten Darstellung der DataSet.

System_CAPS_pubmethodLoad(IDataReader, LoadOption, DataTable[])

Füllt ein DataSet mit Werten aus einer Datenquelle mit dem angegebenen IDataReader, mit einem Array von DataTable -Instanzen, die die Informationen zum Schema und den Namespace angeben.

System_CAPS_pubmethodLoad(IDataReader, LoadOption, FillErrorEventHandler, DataTable[])

Füllt ein DataSet mit Werten aus einer Datenquelle mit dem angegebenen IDataReader, mit einem Array von DataTable -Instanzen, die die Informationen zum Schema und den Namespace angeben.

System_CAPS_pubmethodLoad(IDataReader, LoadOption, String[])

Füllt ein DataSet mit Werten aus einer Datenquelle mit dem angegebenen IDataReader, mit der ein Array von Zeichenfolgen, geben Sie die Namen für die Tabellen in der DataSet.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodMerge(DataRow[])

Führt ein Array von DataRow -Objekten mit dem aktuellen DataSet.

System_CAPS_pubmethodMerge(DataRow[], Boolean, MissingSchemaAction)

Führt ein Array von DataRow -Objekten mit dem aktuellen DataSet, beibehalten oder verwerfen von Änderungen in der DataSet zusammen eine gemäß den angegebenen Argumenten.

System_CAPS_pubmethodMerge(DataSet)

Führt ein angegebenes DataSet und sein Schema mit dem aktuellen DataSet.

System_CAPS_pubmethodMerge(DataSet, Boolean)

Führt ein angegebenes DataSet und sein Schema mit dem aktuellen DataSet, beibehalten oder verwirft alle Änderungen in diesem DataSet gemäß dem angegebenen Argument.

System_CAPS_pubmethodMerge(DataSet, Boolean, MissingSchemaAction)

Führt ein angegebenes DataSet und sein Schema mit dem aktuellen DataSet, beibehalten oder verwerfen von Änderungen in der aktuellen DataSet zusammen eine gemäß den angegebenen Argumenten.

System_CAPS_pubmethodMerge(DataTable)

Führt ein angegebenes DataTable und sein Schema mit dem aktuellen DataSet.

System_CAPS_pubmethodMerge(DataTable, Boolean, MissingSchemaAction)

Führt ein angegebenes DataTable und sein Schema mit dem aktuellen DataSet, beibehalten oder verwerfen von Änderungen in der DataSet zusammen eine gemäß den angegebenen Argumenten.

System_CAPS_protmethodOnPropertyChanging(PropertyChangedEventArgs)

Löst das OnPropertyChanging-Ereignis aus.

System_CAPS_protmethodOnRemoveRelation(DataRelation)

Tritt auf, wenn ein DataRelation Objekt aufgehoben ist eine DataTable.

System_CAPS_protmethodOnRemoveTable(DataTable)

Tritt auf, wenn ein DataTable aus entfernt eine DataSet.

System_CAPS_protmethodRaisePropertyChanging(String)

Sendet eine Benachrichtigung, die dem angegebenen DataSet Eigenschaft geändert wird.

System_CAPS_pubmethodReadXml(Stream)

Liest das XML-Schema und die Daten in der DataSet unter Verwendung des angegebenen System.IO.Stream.

System_CAPS_pubmethodReadXml(Stream, XmlReadMode)

Liest das XML-Schema und die Daten in der DataSet unter Verwendung des angegebenen System.IO.Stream und XmlReadMode.

System_CAPS_pubmethodReadXml(String)

Liest das XML-Schema und die Daten in der DataSet mithilfe der angegebenen Datei.

System_CAPS_pubmethodReadXml(String, XmlReadMode)

Liest das XML-Schema und die Daten in der DataSet mithilfe der angegebenen Datei und XmlReadMode.

System_CAPS_pubmethodReadXml(TextReader)

Liest das XML-Schema und die Daten in der DataSet unter Verwendung des angegebenen System.IO.TextReader.

System_CAPS_pubmethodReadXml(TextReader, XmlReadMode)

Liest das XML-Schema und die Daten in der DataSet unter Verwendung des angegebenen System.IO.TextReader und XmlReadMode.

System_CAPS_pubmethodReadXml(XmlReader)

Liest das XML-Schema und die Daten in der DataSet unter Verwendung des angegebenen System.Xml.XmlReader.

System_CAPS_pubmethodReadXml(XmlReader, XmlReadMode)

Liest das XML-Schema und die Daten in der DataSet unter Verwendung des angegebenen System.Xml.XmlReader und XmlReadMode.

System_CAPS_pubmethodReadXmlSchema(Stream)

Liest das XML-Schema aus dem angegebenen Stream in der DataSet.

System_CAPS_pubmethodReadXmlSchema(String)

Liest das XML-Schema aus der angegebenen Datei in die DataSet.

System_CAPS_pubmethodReadXmlSchema(TextReader)

Liest das XML-Schema aus dem angegebenen TextReader in der DataSet.

System_CAPS_pubmethodReadXmlSchema(XmlReader)

Liest das XML-Schema aus dem angegebenen XmlReader in der DataSet.

System_CAPS_protmethodReadXmlSerializable(XmlReader)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Attribute ignoriert, und gibt ein leeres DataSet zurück.

System_CAPS_pubmethodRejectChanges()

Führt einen Rollback für alle Änderungen an den DataSet seit der Erstellung oder seit dem letzten DataSet.AcceptChanges aufgerufen wurde.

System_CAPS_pubmethodReset()

Löscht alle Tabellen und entfernt alle Beziehungen, foreign-Einschränkungen und Tabellen aus der DataSet. Untergeordnete Klassen müssen überschreiben Reset zum Wiederherstellen einer DataSet in seinen ursprünglichen Zustand.

System_CAPS_protmethodShouldSerializeRelations()

Ruft einen Wert, der angibt, ob Relations -Eigenschaft beibehalten werden soll.

System_CAPS_protmethodShouldSerializeTables()

Ruft einen Wert, der angibt, ob Tables -Eigenschaft beibehalten werden soll.

System_CAPS_pubmethodToString()

Gibt eine String mit dem Namen der Component, sofern vorhanden. Diese Methode darf nicht überschrieben werden.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubmethodWriteXml(Stream)

Schreibt die aktuellen Daten für das DataSet unter Verwendung des angegebenen System.IO.Stream.

System_CAPS_pubmethodWriteXml(Stream, XmlWriteMode)

Schreibt die aktuellen Daten und bei Bedarf das Schema für die DataSet unter Verwendung des angegebenen System.IO.Stream und XmlWriteMode. Um das Schema zu schreiben, legen Sie den Wert für die mode Parameter WriteSchema.

System_CAPS_pubmethodWriteXml(String)

Schreibt die aktuellen Daten für das DataSet in der angegebenen Datei.

System_CAPS_pubmethodWriteXml(String, XmlWriteMode)

Schreibt die aktuellen Daten und bei Bedarf das Schema für die DataSet in der angegebenen Datei unter Verwendung des angegebenen XmlWriteMode. Um das Schema zu schreiben, legen Sie den Wert für die mode Parameter WriteSchema.

System_CAPS_pubmethodWriteXml(TextWriter)

Schreibt die aktuellen Daten für das DataSet unter Verwendung des angegebenen TextWriter.

System_CAPS_pubmethodWriteXml(TextWriter, XmlWriteMode)

Schreibt die aktuellen Daten und bei Bedarf das Schema für die DataSet unter Verwendung des angegebenen TextWriter und XmlWriteMode. Um das Schema zu schreiben, legen Sie den Wert für die mode Parameter WriteSchema.

System_CAPS_pubmethodWriteXml(XmlWriter)

Schreibt die aktuellen Daten für die DataSet in den angegebenen XmlWriter.

System_CAPS_pubmethodWriteXml(XmlWriter, XmlWriteMode)

Schreibt die aktuellen Daten und bei Bedarf das Schema für die DataSet unter Verwendung des angegebenen XmlWriter und XmlWriteMode. Um das Schema zu schreiben, legen Sie den Wert für die mode Parameter WriteSchema.

System_CAPS_pubmethodWriteXmlSchema(Stream)

Schreibt die DataSet Struktur als XML-Schema in den angegebenen System.IO.Stream Objekt.

System_CAPS_pubmethodWriteXmlSchema(Stream, Converter<Type, String>)

Schreibt die DataSet Struktur als XML-Schema in den angegebenen System.IO.Stream Objekt.

System_CAPS_pubmethodWriteXmlSchema(String)

Schreibt die DataSet Struktur als XML-Schema in eine Datei.

System_CAPS_pubmethodWriteXmlSchema(String, Converter<Type, String>)

Schreibt die DataSet Struktur als XML-Schema in eine Datei.

System_CAPS_pubmethodWriteXmlSchema(TextWriter)

Schreibt die DataSet-Struktur als XML-Schreibt in das angegebene TextWriter-Objekt.

System_CAPS_pubmethodWriteXmlSchema(TextWriter, Converter<Type, String>)

Schreibt die DataSet Struktur als XML-Schema in den angegebenen TextWriter.

System_CAPS_pubmethodWriteXmlSchema(XmlWriter)

Schreibt die DataSet Struktur als XML-Schema in ein XmlWriter Objekt.

System_CAPS_pubmethodWriteXmlSchema(XmlWriter, Converter<Type, String>)

Schreibt die DataSet Struktur als XML-Schema in den angegebenen XmlWriter.

NameBeschreibung
System_CAPS_pubeventDisposed

Fügt einen Ereignishandler zum Abhören der Disposed -Ereignis für die Komponente.(Geerbt von „MarshalByValueComponent“.)

System_CAPS_pubeventInitialized

Tritt ein, nachdem die DataSet initialisiert wird.

System_CAPS_pubeventMergeFailed

Tritt auf, wenn ein Ziel und Quelle DataRow den gleichen Primärschlüsselwert besitzen und EnforceConstraints festgelegt auf "true".

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIListSource.GetList()

Eine Beschreibung dieses Elements finden Sie unter IListSource.GetList.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlSerializable.GetSchema()

Eine Beschreibung dieses Elements finden Sie unter IXmlSerializable.GetSchema.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlSerializable.ReadXml(XmlReader)

Eine Beschreibung dieses Elements finden Sie unter IXmlSerializable.ReadXml.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlSerializable.WriteXml(XmlWriter)

Eine Beschreibung dieses Elements finden Sie unter IXmlSerializable.WriteXml.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIListSource.ContainsListCollection

Eine Beschreibung dieses Elements finden Sie unter IListSource.ContainsListCollection.

The T:System.Data.DataSet, which is an in-memory cache of data retrieved from a data source, is a major component of the ADO.NET architecture. The T:System.Data.DataSet consists of a collection of T:System.Data.DataTable objects that you can relate to each other with T:System.Data.DataRelation objects. You can also enforce data integrity in the T:System.Data.DataSet by using the T:System.Data.UniqueConstraint and T:System.Data.ForeignKeyConstraint objects. For further details about working with T:System.Data.DataSet objects, see Using DataSets in ADO.NET.

Whereas T:System.Data.DataTable objects contain the data, the T:System.Data.DataRelationCollection allows you to navigate though the table hierarchy. The tables are contained in a T:System.Data.DataTableCollection accessed through the P:System.Data.DataSet.Tables property. When accessing T:System.Data.DataTable objects, note that they are conditionally case sensitive. For example, if one T:System.Data.DataTable is named "mydatatable" and another is named "Mydatatable", a string used to search for one of the tables is regarded as case sensitive. However, if "mydatatable" exists and "Mydatatable" does not, the search string is regarded as case insensitive. For more information about working with T:System.Data.DataTable objects, see Creating a DataTable.

A T:System.Data.DataSet can read and write data and schema as XML documents. The data and schema can then be transported across HTTP and used by any application, on any platform that is XML-enabled. You can save the schema as an XML schema with the M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream) method, and both schema and data can be saved using the M:System.Data.DataSet.WriteXml(System.IO.Stream) method. To read an XML document that includes both schema and data, use the M:System.Data.DataSet.ReadXml(System.Xml.XmlReader) method.

In a typical multiple-tier implementation, the steps for creating and refreshing a T:System.Data.DataSet, and in turn, updating the original data are to:

  1. Build and fill each T:System.Data.DataTable in a T:System.Data.DataSet with data from a data source using a T:System.Data.Common.DataAdapter.

  2. Change the data in individual T:System.Data.DataTable objects by adding, updating, or deleting T:System.Data.DataRow objects.

  3. Invoke the M:System.Data.DataSet.GetChanges method to create a second T:System.Data.DataSet that features only the changes to the data.

  4. Call the M:System.Data.Common.DataAdapter.Update(System.Data.DataSet) method of the T:System.Data.Common.DataAdapter, passing the second T:System.Data.DataSet as an argument.

  5. Invoke the M:System.Data.DataSet.Merge(System.Data.DataSet) method to merge the changes from the second T:System.Data.DataSet into the first.

  6. Invoke the M:System.Data.DataSet.AcceptChanges on the T:System.Data.DataSet. Alternatively, invoke M:System.Data.DataSet.RejectChanges to cancel the changes.

System_CAPS_noteHinweis

The T:System.Data.DataSet and T:System.Data.DataTable objects inherit from T:System.ComponentModel.MarshalByValueComponent, and support the T:System.Runtime.Serialization.ISerializable interface for remoting. These are the only ADO.NET objects that can be remoted.

System_CAPS_noteHinweis

Classes inherited from T:System.Data.DataSet are not finalized by the garbage collector, because the finalizer has been suppressed in T:System.Data.DataSet. The derived class can call the M:System.GC.ReRegisterForFinalize(System.Object) method in its constructor to allow the class to be finalized by the garbage collector.

The following example consists of several methods that, combined, create and fill a T:System.Data.DataSet from the Northwind database.

using System;
using System.Data;
using System.Data.SqlClient;

namespace Microsoft.AdoNet.DataSetDemo
{
    class NorthwindDataSet
    {
        static void Main()
        {
            string connectionString = GetConnectionString();
            ConnectToData(connectionString);
        }

        private static void ConnectToData(string connectionString)
        {
            //Create a SqlConnection to the Northwind database.
            using (SqlConnection connection =
                       new SqlConnection(connectionString))
            {
                //Create a SqlDataAdapter for the Suppliers table.
                SqlDataAdapter adapter = new SqlDataAdapter();

                // A table mapping names the DataTable.
                adapter.TableMappings.Add("Table", "Suppliers");

                // Open the connection.
                connection.Open();
                Console.WriteLine("The SqlConnection is open.");

                // Create a SqlCommand to retrieve Suppliers data.
                SqlCommand command = new SqlCommand(
                    "SELECT SupplierID, CompanyName FROM dbo.Suppliers;",
                    connection);
                command.CommandType = CommandType.Text;

                // Set the SqlDataAdapter's SelectCommand.
                adapter.SelectCommand = command;

                // Fill the DataSet.
                DataSet dataSet = new DataSet("Suppliers");
                adapter.Fill(dataSet);

                // Create a second Adapter and Command to get
                // the Products table, a child table of Suppliers. 
                SqlDataAdapter productsAdapter = new SqlDataAdapter();
                productsAdapter.TableMappings.Add("Table", "Products");

                SqlCommand productsCommand = new SqlCommand(
                    "SELECT ProductID, SupplierID FROM dbo.Products;",
                    connection);
                productsAdapter.SelectCommand = productsCommand;

                // Fill the DataSet.
                productsAdapter.Fill(dataSet);

                // Close the connection.
                connection.Close();
                Console.WriteLine("The SqlConnection is closed.");

                // Create a DataRelation to link the two tables
                // based on the SupplierID.
                DataColumn parentColumn =
                    dataSet.Tables["Suppliers"].Columns["SupplierID"];
                DataColumn childColumn =
                    dataSet.Tables["Products"].Columns["SupplierID"];
                DataRelation relation =
                    new System.Data.DataRelation("SuppliersProducts",
                    parentColumn, childColumn);
                dataSet.Relations.Add(relation);
                Console.WriteLine(
                    "The {0} DataRelation has been created.",
                    relation.RelationName);
            }
        }

        static private string GetConnectionString()
        {
            // To avoid storing the connection string in your code, 
            // you can retrieve it from a configuration file.
            return "Data Source=(local);Initial Catalog=Northwind;"
                + "Integrated Security=SSPI";
        }
    }
}

.NET Framework
Verfügbar seit 1.1

This type is safe for multithreaded read operations. You must synchronize any write operations.

Zurück zum Anfang
Anzeigen: