다음을 통해 공유


DataAdapter.FillSchema 메서드

정의

지정된 에 a DataTable 를 추가합니다 DataSet.

오버로드

Name Description
FillSchema(DataSet, SchemaType, String, IDataReader)

지정된 에 a DataTable 를 추가합니다 DataSet.

FillSchema(DataSet, SchemaType)

지정된 에 a DataTable 를 추가하고 지정된 DataSet 스키마에 따라 SchemaType데이터 원본의 스키마와 일치하도록 구성합니다.

FillSchema(DataTable, SchemaType, IDataReader)

지정된 에 a DataTable 를 추가합니다 DataSet.

FillSchema(DataSet, SchemaType, String, IDataReader)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

지정된 에 a DataTable 를 추가합니다 DataSet.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

매개 변수

dataSet
DataSet

DataTable 에서 채울 값입니다IDataReader.

schemaType
SchemaType

값 중 SchemaType 하나입니다.

srcTable
String

테이블 매핑에 사용할 원본 테이블의 이름입니다.

dataReader
IDataReader

IDataReader 를 채울 때 데이터 원본으로 사용할 값입니다DataTable.

반환

에 추가된 개체 컬렉션 DataTableDataSet대한 참조입니다.

특성

추가 정보

적용 대상

FillSchema(DataSet, SchemaType)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

지정된 에 a DataTable 를 추가하고 지정된 DataSet 스키마에 따라 SchemaType데이터 원본의 스키마와 일치하도록 구성합니다.

public:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
 abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

매개 변수

dataSet
DataSet

DataSet 데이터 원본의 스키마로 채울 값입니다.

schemaType
SchemaType

값 중 SchemaType 하나입니다.

반환

DataTable 데이터 원본에서 반환된 스키마 정보를 포함하는 개체입니다.

구현

특성

설명

메서드는 FillSchema .를 사용하여 데이터 원본에서 스키마를 검색합니다 SelectCommand. 연결된 연결 개체는 SelectCommand 유효해야 하지만 열 필요는 없습니다. 연결이 호출되기 전에 FillSchema 닫힌 경우 데이터를 검색하기 위해 열린 다음 닫힙니다. 연결이 호출되기 전에 FillSchema 열려 있으면 열린 상태로 유지됩니다.

FillSchema 작업은 대상DataSet에 a DataTable 를 추가합니다. 그런 다음 열에 DataColumnCollectionDataTable열을 추가하고 데이터 원본에 있는 경우 다음 DataColumn 속성을 구성합니다.

FillSchema또한 다음 규칙에 따라 및 Constraints 속성을 구성 PrimaryKey 합니다.

  • 하나 이상의 기본 키 열이 반환 SelectCommand되는 경우 해당 열은 에 대한 DataTable기본 키 열로 사용됩니다.

  • 기본 키 열이 반환되지 않지만 고유한 열이 있는 경우 모든 고유 열이 null을 허용하지 않는 경우에만 고유 열이 기본 키로 사용됩니다. 열 중 Null을 허용하면 a UniqueConstraint 열이 추가 ConstraintCollection되지만 속성은 PrimaryKey 설정되지 않습니다.

  • 기본 키 열과 고유 열이 모두 반환되면 기본 키 열이 기본 키 열 DataTable로 사용됩니다.

메모

기본 데이터 저장소는 일부 열 특성이 올바르게 변환되지 않도록 하는 열 특성에서 DataColumn지원되지 않는 열 특성을 허용할 수 있습니다. 예를 들어 SQL Server는 데이터 형식이 tinyint인 ID 열을 허용하는 반면 DataColumn Int16, Int32 및 Int64만 속성을 설정할 수 AutoIncrement 있습니다. FillSchema 는 데이터 원본을 DataColumn 정확하게 미러링할 수 없고 예외를 throw하지 않는 경우를 자동으로 무시합니다.

기본 키와 고유 제약 조건은 이전 규칙에 따라 추가 ConstraintCollection 되지만 다른 제약 조건 형식은 추가되지 않습니다.

SQL Server 테이블의 열 또는 열에 고유한 클러스터형 인덱스가 정의되고 기본 키 제약 조건이 별도의 열 집합에 정의된 경우 클러스터형 인덱스에 있는 열의 이름이 반환됩니다. 기본 키 열의 이름 또는 이름을 반환하려면 기본 키 인덱스의 이름을 지정하는 SELECT 문과 함께 쿼리 힌트를 사용합니다. 쿼리 힌트를 지정하는 방법에 대한 자세한 내용은 힌트(Transact-SQL) - 쿼리를 참조하세요.

DataAdapter 채우는 DataTable동안 중복 열이 발생하면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다. 각 결과 집합에 여러 결과 집합이 DataSet 추가되면 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 열 및 테이블 이름을 사용하는 애플리케이션은 이러한 명명 패턴과의 충돌이 발생하지 않도록 해야 합니다.

FillSchema 는 행을 반환하지 않습니다. 메서드를 Fill 사용하여 행을 추가합니다 DataTable.

메모

여러 결과를 FillSchema 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB 구현은 첫 번째 결과에 대한 스키마 정보만 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 다음 집합AddWithKey과 함께 MissingSchemaAction 사용합니다Fill.

추가 정보

적용 대상

FillSchema(DataTable, SchemaType, IDataReader)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

지정된 에 a DataTable 를 추가합니다 DataSet.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable? FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable? FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

매개 변수

dataTable
DataTable

DataTable 에서 채울 값입니다IDataReader.

schemaType
SchemaType

값 중 SchemaType 하나입니다.

dataReader
IDataReader

IDataReader 를 채울 때 데이터 원본으로 사용할 값입니다DataTable.

반환

DataTable 데이터 원본에서 반환된 스키마 정보를 포함하는 개체입니다.

특성

추가 정보

적용 대상