DataSet 클래스

정의

데이터의 메모리 내 캐시를 나타냅니다.

public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
[System.Serializable]
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[System.Serializable]
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[<System.Serializable>]
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface IXmlSerializable
    interface ISupportInitialize
    interface ISerializable
[<System.Serializable>]
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface IXmlSerializable
    interface ISupportInitializeNotification
    interface ISupportInitialize
    interface ISerializable
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitialize
    interface ISupportInitializeNotification
    interface ISerializable
    interface IXmlSerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize, IXmlSerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitializeNotification, IXmlSerializable
상속
특성
구현

예제

다음 예제는 Northwind 데이터베이스에서 결합하고 만들고 채우는 여러 가지 메서드로 DataSet 구성됩니다.

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";
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Data
Imports system.Data.SqlClient

Public Class NorthwindDataSet

    Public Shared Sub Main()
        Dim connectionString As String = _
            GetConnectionString()
        ConnectToData(connectionString)
    End Sub

    Private Shared Sub ConnectToData( _
        ByVal connectionString As String)

        ' Create a SqlConnection to the Northwind database.
        Using connection As SqlConnection = New SqlConnection( _
           connectionString)

            ' Create a SqlDataAdapter for the Suppliers table.
            Dim suppliersAdapter As SqlDataAdapter = _
               New SqlDataAdapter()

            ' A table mapping names the DataTable.
            suppliersAdapter.TableMappings.Add("Table", "Suppliers")

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

            ' Create a SqlCommand to retrieve Suppliers data.
            Dim suppliersCommand As New SqlCommand( _
               "SELECT SupplierID, CompanyName FROM dbo.Suppliers;", _
               connection)
            suppliersCommand.CommandType = CommandType.Text

            ' Set the SqlDataAdapter's SelectCommand.
            suppliersAdapter.SelectCommand = suppliersCommand

            ' Fill the DataSet.
            Dim dataSet As New DataSet("Suppliers")
            suppliersAdapter.Fill(dataSet)

            ' Create a second SqlDataAdapter and SqlCommand to get
            ' the Products table, a child table of Suppliers. 
            Dim productsAdapter As New SqlDataAdapter()
            productsAdapter.TableMappings.Add("Table", "Products")

            Dim productsCommand As 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.
            Dim parentColumn As DataColumn = _
               dataSet.Tables("Suppliers").Columns("SupplierID")
            Dim childColumn As DataColumn = _
               dataSet.Tables("Products").Columns("SupplierID")
            Dim relation As New DataRelation("SuppliersProducts", _
               parentColumn, childColumn)
            dataSet.Relations.Add(relation)

            Console.WriteLine( _
               "The {0} DataRelation has been created.", _
               relation.RelationName)
        End Using

    End Sub

    Private Shared Function GetConnectionString() As String
        ' 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;"
    End Function
End Class

설명

이 API에 대한 자세한 내용은 DataSet에 대한 추가 API 비고를 참조하세요.

생성자

Name Description
DataSet()

DataSet 클래스의 새 인스턴스를 초기화합니다.

DataSet(SerializationInfo, StreamingContext, Boolean)

직렬화된 데이터를 사용하여 클래스의 새 인스턴스를 DataSet 초기화합니다.

DataSet(SerializationInfo, StreamingContext)

직렬화된 데이터를 사용하여 클래스의 새 인스턴스를 DataSet 초기화합니다.

DataSet(String)

지정된 이름을 사용하여 클래스의 DataSet 새 인스턴스를 초기화합니다.

속성

Name Description
CaseSensitive

개체 내 DataTable 의 문자열 비교가 대/소문자를 구분하는지 여부를 나타내는 값을 가져오거나 설정합니다.

Container

구성 요소의 컨테이너를 가져옵니다.

(다음에서 상속됨 MarshalByValueComponent)
DataSetName

현재 DataSet이름을 가져오거나 설정합니다.

DefaultViewManager

사용자 지정을 사용하여 필터링, 검색 및 탐색을 허용하기 위해 포함된 DataSet 데이터의 사용자 지정 DataViewManager보기를 가져옵니다.

DesignMode

구성 요소가 현재 디자인 모드에 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 MarshalByValueComponent)
EnforceConstraints

업데이트 작업을 시도할 때 제약 조건 규칙을 따르는지 여부를 나타내는 값을 가져오거나 설정합니다.

Events

이 구성 요소에 연결된 이벤트 처리기 목록을 가져옵니다.

(다음에서 상속됨 MarshalByValueComponent)
ExtendedProperties

에 연결된 DataSet사용자 지정 사용자 정보의 컬렉션을 가져옵니다.

HasErrors

DataTable개체 내에 오류가 DataSet 있는지 여부를 나타내는 값을 가져옵니다.

IsInitialized

초기화되는지 여부를 DataSet 나타내는 값을 가져옵니다.

Locale

테이블 내의 문자열을 비교하는 데 사용되는 로캘 정보를 가져오거나 설정합니다.

Namespace

의 네임스페이스를 DataSet가져오거나 설정합니다.

Prefix

의 네임스페 DataSet이스를 별칭으로 지정하는 XML 접두사를 가져오거나 설정합니다.

Relations

테이블을 연결하고 부모 테이블에서 자식 테이블로의 탐색을 허용하는 관계 컬렉션을 가져옵니다.

RemotingFormat

원격 중에 사용되는 serialization 형식을 DataSet 가져오거나 설정합니다.

SchemaSerializationMode

에 대한 SchemaSerializationModea를 DataSet 가져오거나 설정합니다.

Site

에 대한 DataSet값을 ISite 가져오거나 설정합니다.

Tables

에 포함된 DataSet테이블의 컬렉션을 가져옵니다.

메서드

Name Description
AcceptChanges()

로드되었거나 마지막으로 DataSet 호출된 이후의 AcceptChanges() 변경 내용을 모두 커밋합니다.

BeginInit()

폼에서 사용되거나 다른 구성 요소에서 사용되는 초기화를 DataSet 시작합니다. 초기화는 런타임에 발생합니다.

Clear()

DataSet 모든 테이블의 모든 행을 제거하여 데이터를 지웁니다.

Clone()

DataSet모든 DataTable 스키마, 관계 및 제약 조건을 포함하여 구조체를 복사합니다. 데이터를 복사하지 않습니다.

Copy()

DataSet구조체와 데이터를 모두 복사합니다.

CreateDataReader()

컬렉션에 DataTableReader 테이블이 표시되는 것과 동일한 시퀀스로 결과 DataTable집합이 하나씩 있는 Tables 값을 반환합니다.

CreateDataReader(DataTable[])

DataTableReader 에 대해 DataTable하나의 결과 집합을 반환합니다.

DetermineSchemaSerializationMode(SerializationInfo, StreamingContext)

에 대한 DataSet값을 SchemaSerializationMode 결정합니다.

DetermineSchemaSerializationMode(XmlReader)

에 대한 DataSet값을 SchemaSerializationMode 결정합니다.

Dispose()

에서 사용하는 모든 리소스를 MarshalByValueComponent해제합니다.

(다음에서 상속됨 MarshalByValueComponent)
Dispose(Boolean)

관리되지 않는 리소스를 MarshalByValueComponent 해제하고 관리되는 리소스를 선택적으로 해제합니다.

(다음에서 상속됨 MarshalByValueComponent)
EndInit()

폼에서 사용되거나 다른 구성 요소에서 사용되는 초기화를 DataSet 종료합니다. 초기화는 런타임에 발생합니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetChanges()

로드되었거나 마지막으로 호출된 이후 AcceptChanges() 의 모든 변경 내용이 포함된 복사본 DataSet 을 가져옵니다.

GetChanges(DataRowState)

마지막으로 로드된 이후 또는 호출된 후 AcceptChanges() 필터링된 모든 변경 내용을 포함하는 복사본 DataSetDataRowState가져옵니다.

GetDataSetSchema(XmlSchemaSet)

DataSet의 XmlSchemaSet 복사본을 가져옵니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

serialize 정보 개체를 serialize DataSet하는 데 필요한 데이터로 채웁니다.

GetSchemaSerializable()

직렬화 가능한 XmlSchema 인스턴스를 반환합니다.

GetSerializationData(SerializationInfo, StreamingContext)

이진 또는 XML 스트림에서 테이블 데이터를 역직렬화합니다.

GetService(Type)

의 구현자를 IServiceProvider가져옵니다.

(다음에서 상속됨 MarshalByValueComponent)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
GetXml()

에 저장된 데이터의 XML 표현을 반환합니다 DataSet.

GetXmlSchema()

에 저장된 데이터의 XML 표현에 대한 XML 스키마를 DataSet반환합니다.

HasChanges()

새 행, 삭제됨 또는 수정된 행을 포함하여 변경 내용이 있는지 여부를 DataSet 나타내는 값을 가져옵니다.

HasChanges(DataRowState)

필터링된 새 행, 삭제된 행 또는 수정된 DataSet행을 포함하여 변경 내용이 있는지 여부를 DataRowState 나타내는 값을 가져옵니다.

InferXmlSchema(Stream, String[])

지정된 StreamDataSetXML 스키마를 .에 적용합니다.

InferXmlSchema(String, String[])

지정된 파일의 XML 스키마를 DataSet.에 적용합니다.

InferXmlSchema(TextReader, String[])

지정된 TextReaderDataSetXML 스키마를 .에 적용합니다.

InferXmlSchema(XmlReader, String[])

지정된 XmlReaderDataSetXML 스키마를 .에 적용합니다.

InitializeDerivedDataSet()

이진 또는 XML 스트림에서 DataSet의 모든 테이블 데이터를 역직렬화합니다.

IsBinarySerialized(SerializationInfo, StreamingContext)

serialize된 표현의 형식을 검사합니다 DataSet.

Load(IDataReader, LoadOption, DataTable[])

제공된 DataSetIDataReader값을 사용하여 데이터 원본의 DataTable 값으로 채우고 인스턴스 배열을 사용하여 스키마 및 네임스페이스 정보를 제공합니다.

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

제공된 DataSetIDataReader값을 사용하여 데이터 원본의 DataTable 값으로 채우고 인스턴스 배열을 사용하여 스키마 및 네임스페이스 정보를 제공합니다.

Load(IDataReader, LoadOption, String[])

제공된 DataSetIDataReader값을 사용하여 데이터 원본의 값으로 채웁니다. 문자열 배열을 사용하여 내 테이블 DataSet의 이름을 제공합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Merge(DataRow[], Boolean, MissingSchemaAction)

DataRow 개체의 배열을 현재 DataSet병합하여 DataSet 변경 내용을 유지하거나 삭제하고 지정된 인수에 따라 호환되지 않는 스키마를 처리합니다.

Merge(DataRow[])

DataRow 개체의 배열을 현재 DataSet병합합니다.

Merge(DataSet, Boolean, MissingSchemaAction)

지정된 DataSet 해당 스키마를 현재 DataSet병합하여 현재 DataSet 변경 내용을 유지하거나 삭제하고 지정된 인수에 따라 호환되지 않는 스키마를 처리합니다.

Merge(DataSet, Boolean)

지정된 DataSet 스키마를 현재 DataSet병합하여 지정된 인수에 따라 이 DataSet 변경 내용을 유지하거나 삭제합니다.

Merge(DataSet)

지정된 DataSet 및 해당 스키마를 현재 DataSet병합합니다.

Merge(DataTable, Boolean, MissingSchemaAction)

지정된 DataTable 해당 스키마를 현재 DataSet병합하여 DataSet 변경 내용을 유지하거나 삭제하고 지정된 인수에 따라 호환되지 않는 스키마를 처리합니다.

Merge(DataTable)

지정된 DataTable 및 해당 스키마를 현재 DataSet병합합니다.

OnPropertyChanging(PropertyChangedEventArgs)

OnPropertyChanging(PropertyChangedEventArgs) 이벤트를 발생시킵니다.

OnRemoveRelation(DataRelation)

개체가 DataRelation .에서 DataTable제거될 때 발생합니다.

OnRemoveTable(DataTable)

에서 DataTable 제거될 때 발생합니다 DataSet.

RaisePropertyChanging(String)

지정된 DataSet 속성이 변경된다는 알림을 보냅니다.

ReadXml(Stream, XmlReadMode)

XML 스키마 및 데이터를 지정된 StreamXmlReadMode및 .를 DataSet 사용하여 읽습니다.

ReadXml(Stream)

지정된 StreamDataSet 사용하여 XML 스키마 및 데이터를 읽습니다.

ReadXml(String, XmlReadMode)

지정된 파일을 XmlReadMode사용하여 XML 스키마 및 데이터를 DataSet 읽습니다.

ReadXml(String)

지정된 파일을 사용하여 XML 스키마 및 데이터를 DataSet 읽습니다.

ReadXml(TextReader, XmlReadMode)

XML 스키마 및 데이터를 지정된 TextReaderXmlReadMode및 .를 DataSet 사용하여 읽습니다.

ReadXml(TextReader)

지정된 TextReaderDataSet 사용하여 XML 스키마 및 데이터를 읽습니다.

ReadXml(XmlReader, XmlReadMode)

XML 스키마 및 데이터를 지정된 XmlReaderXmlReadMode및 .를 DataSet 사용하여 읽습니다.

ReadXml(XmlReader)

지정된 XmlReaderDataSet 사용하여 XML 스키마 및 데이터를 읽습니다.

ReadXmlSchema(Stream)

지정된 XML 스키마에서 .로 XML Stream 스키마를 읽습니다 DataSet.

ReadXmlSchema(String)

지정된 파일 DataSet에서 XML 스키마를 읽습니다.

ReadXmlSchema(TextReader)

지정된 XML 스키마에서 .로 XML TextReader 스키마를 읽습니다 DataSet.

ReadXmlSchema(XmlReader)

지정된 XML 스키마에서 .로 XML XmlReader 스키마를 읽습니다 DataSet.

ReadXmlSerializable(XmlReader)

특성을 무시하고 빈 DataSet을 반환합니다.

RejectChanges()

생성된 이후 또는 마지막으로 AcceptChanges() 호출된 이후의 모든 변경 내용을 DataSet 롤백합니다.

Reset()

모든 테이블을 지우고 모든 관계, 외세 제약 조건 및 테이블을 DataSet제거합니다. 서브클래스는 원래 상태로 복원하려면 재정 Reset()DataSet 해야 합니다.

ShouldSerializeRelations()

속성을 유지할지 여부를 Relations 나타내는 값을 가져옵니다.

ShouldSerializeTables()

속성을 유지할지 여부를 Tables 나타내는 값을 가져옵니다.

ToString()

String(있는 경우)의 Component이름을 포함하는 값을 반환합니다. 이 메서드는 재정의해서는 안 됩니다.

(다음에서 상속됨 MarshalByValueComponent)
WriteXml(Stream, XmlWriteMode)

현재 데이터 및 필요에 따라 스키마 DataSet 를 지정 StreamXmlWriteMode다음 사용 하 여 작성 합니다. 스키마를 작성하려면 매개 변수WriteSchema의 값을 mode .로 설정합니다.

WriteXml(Stream)

지정된 Stream사용의 현재 데이터를 DataSet 씁니다.

WriteXml(String, XmlWriteMode)

지정된 XmlWriteMode파일을 사용하여 지정된 파일에 대한 DataSet 현재 데이터와 선택적으로 스키마를 씁니다. 스키마를 작성하려면 매개 변수WriteSchema의 값을 mode .로 설정합니다.

WriteXml(String)

지정된 파일에 대한 DataSet 현재 데이터를 씁니다.

WriteXml(TextWriter, XmlWriteMode)

현재 데이터 및 필요에 따라 스키마 DataSet 를 지정 TextWriterXmlWriteMode다음 사용 하 여 작성 합니다. 스키마를 작성하려면 매개 변수WriteSchema의 값을 mode .로 설정합니다.

WriteXml(TextWriter)

지정된 TextWriter사용의 현재 데이터를 DataSet 씁니다.

WriteXml(XmlWriter, XmlWriteMode)

현재 데이터 및 필요에 따라 스키마 DataSet 를 지정 XmlWriterXmlWriteMode다음 사용 하 여 작성 합니다. 스키마를 작성하려면 매개 변수WriteSchema의 값을 mode .로 설정합니다.

WriteXml(XmlWriter)

지정된 XmlWriter에 대한 DataSet 현재 데이터를 씁니다.

WriteXmlSchema(Stream, Converter<Type,String>)

지정된 Stream 개체에 DataSet 구조를 XML 스키마로 씁니다.

WriteXmlSchema(Stream)

지정된 Stream 개체에 DataSet 구조를 XML 스키마로 씁니다.

WriteXmlSchema(String, Converter<Type,String>)

구조체를 DataSet XML 스키마로 파일에 씁니다.

WriteXmlSchema(String)

구조체를 DataSet XML 스키마로 파일에 씁니다.

WriteXmlSchema(TextWriter, Converter<Type,String>)

지정된 TextWriterDataSet 구조를 XML 스키마로 씁니다.

WriteXmlSchema(TextWriter)

지정된 TextWriter 개체에 DataSet 구조를 XML 스키마로 씁니다.

WriteXmlSchema(XmlWriter, Converter<Type,String>)

지정된 XmlWriterDataSet 구조를 XML 스키마로 씁니다.

WriteXmlSchema(XmlWriter)

개체에 DataSet XML 스키마 XmlWriter 로 구조를 씁니다.

이벤트

Name Description
Disposed

구성 요소에서 이벤트를 수신 대기하는 Disposed 이벤트 처리기를 추가합니다.

(다음에서 상속됨 MarshalByValueComponent)
Initialized

초기화된 후에 DataSet 발생합니다.

MergeFailed

대상과 원본 DataRow 의 기본 키 값이 같고 EnforceConstraints true로 설정된 경우에 발생합니다.

명시적 인터페이스 구현

Name Description
IListSource.ContainsListCollection

이 멤버에 대한 설명은 을 참조하세요 ContainsListCollection.

IListSource.GetList()

이 멤버에 대한 설명은 을 참조하세요 GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

serialize 정보 개체를 serialize DataSet하는 데 필요한 데이터로 채웁니다.

IXmlSerializable.GetSchema()

이 멤버에 대한 설명은 을 참조하세요 GetSchema().

IXmlSerializable.ReadXml(XmlReader)

이 멤버에 대한 설명은 을 참조하세요 ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

이 멤버에 대한 설명은 을 참조하세요 WriteXml(XmlWriter).

적용 대상

스레드 보안

이 형식은 다중 스레드 읽기 작업에 안전합니다. 모든 쓰기 작업을 동기화해야 합니다.

추가 정보