DataAdapter.Fill 메서드

정의

데이터 소스의 행과 일치하도록 DataSet의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in the DataSet to match those in the data source.

오버로드

Fill(DataSet)

데이터 소스의 행과 일치하도록 DataSet의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in the DataSet to match those in the data source.

Fill(DataTable, IDataReader)

DataTable 이름 및 지정된 DataTable를 사용하여 데이터 소스의 행과 일치하도록 IDataReader의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in the DataTable to match those in the data source using the DataTable name and the specified IDataReader.

Fill(DataTable[], IDataReader, Int32, Int32)

DataTable 개체 컬렉션의 지정된 범위에서 데이터 소스의 행과 일치하도록 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in a specified range in the collection of DataTable objects to match those in the data source.

Fill(DataSet, String, IDataReader, Int32, Int32)

DataSetDataSet 이름을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in a specified range in the DataSet to match those in the data source using the DataSet and DataTable names.

Fill(DataSet)

데이터 소스의 행과 일치하도록 DataSet의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in the DataSet to match those in the data source.

public:
 virtual int Fill(System::Data::DataSet ^ dataSet);
public:
 abstract int Fill(System::Data::DataSet ^ dataSet);
public virtual int Fill (System.Data.DataSet dataSet);
public abstract int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
override this.Fill : System.Data.DataSet -> int
abstract member Fill : System.Data.DataSet -> int
Public Overridable Function Fill (dataSet As DataSet) As Integer
Public MustOverride Function Fill (dataSet As DataSet) As Integer

매개 변수

dataSet
DataSet

레코드와 스키마(필요한 경우)로 채울 DataSet입니다.A DataSet to fill with records and, if necessary, schema.

반환

Int32

DataSet에 성공적으로 추가했거나 새로 고친 행의 수를 반환합니다.The number of rows successfully added to or refreshed in the DataSet. 여기에는 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.This does not include rows affected by statements that do not return rows.

구현

설명

Fill메서드는 연결 된 속성에 지정 된 SELECT 문을 사용 하 여 데이터 원본에서 행을 검색 합니다 SelectCommand .The Fill method retrieves rows from the data source using the SELECT statement specified by an associated SelectCommand property. SELECT 문과 사용 하 여 연결 된 연결 개체는 유효 해야 합니다. 하지만 열려 있이 필요가 없습니다.The connection object associated with the SELECT statement must be valid, but it does not need to be open. 전에 연결이 닫히면 Fill 는 데이터를 검색 하려면을 열고 다음 닫는 하는를 호출 합니다.If the connection is closed before Fill is called, it is opened to retrieve data, then closed. 연결 하기 전에 열려 있으면 Fill 는 호출을 열린 상태로 유지 합니다.If the connection is open before Fill is called, it remains open.

Fill 작업이 대상에 행 추가 DataTable 개체를 DataSet만들기는 DataTable 경우 이미 없는 개체입니다.The Fill operation then adds the rows to destination DataTable objects in the DataSet, creating the DataTable objects if they do not already exist. DataTable개체를 만들 때 Fill 일반적으로 작업은 열 이름 메타 데이터만 만듭니다.When creating DataTable objects, the Fill operation normally creates only column name metadata. 그러나 경우 합니다 MissingSchemaAction 속성이 AddWithKey, 적절 한 기본 키와 제약 조건도 만들어집니다.However, if the MissingSchemaAction property is set to AddWithKey, appropriate primary keys and constraints are also created.

SelectCommand 가 OUTER JOIN의 결과를 반환하면 DataAdapter 는 결과 PrimaryKey 에 대해 DataTable값을 설정하지 않습니다.If the SelectCommand returns the results of an OUTER JOIN, the DataAdapter does not set a PrimaryKey value for the resulting DataTable. 중복 행을 올바르게 확인할 수 있도록 기본 키를 명시적으로 정의 해야 합니다.You must explicitly define the primary key to ensure that duplicate rows are resolved correctly. 자세한 내용은 기본 키 정의합니다.For more information, see Defining Primary Keys.

데이터 어댑터가를 채우는 동안 중복 된 열을 발견 하는 경우 DataTable "columnname1", "columnname2", "columnname3" 등의 패턴을 사용 하 여 후속 열의 이름을 생성 합니다.If the data adapter encounters duplicate columns while populating a DataTable, it generates names for the subsequent columns, using the pattern "columnname1", "columnname2", "columnname3", and so on. 들어오는 데이터에 명명 되지 않은 열이 포함 된 경우 DataSet "Column1", "Column2" 패턴에 따라에 배치 됩니다.If the incoming data contains unnamed columns, they are placed in the DataSet according to the pattern "Column1", "Column2", and so on. 각 결과 집합에 여러 결과 집합이 추가 되 면 DataSet 별도의 테이블에 배치 됩니다.When multiple result sets are added to the DataSet each result set is placed in a separate table. 추가 결과 집합이 지정한 테이블 이름 (예: "Table", "Table1", "Table2" 및 등)에 정수 값을 추가 하 여 이름이 지정 됩니다.Additional result sets are named by appending integral values to the specified table name (for example, "Table", "Table1", "Table2", and so on). 열 및 테이블 이름을 사용 하 여 애플리케이션은 이러한 명명 패턴을 사용 하 여 충돌 하지 않도록 확인 해야 합니다.Applications using column and table names should ensure that conflicts with these naming patterns does not occur.

를 채우는 데 사용 되는 SELECT 문에서 DataSet 일괄 처리 SQL 문과 같은 여러 결과가 반환 되는 경우 결과 중 하나에 오류가 포함 되 면 이후의 모든 결과는 건너뛰고에 추가 되지 않습니다 DataSet .When the SELECT statement used to populate the DataSet returns multiple results, such as a batch SQL statements, if one of the results contains an error, all subsequent results are skipped and not added to the DataSet.

사용할 수는 Fill 메서드를 여러 번에 동일한 DataTable입니다.You can use the Fill method multiple times on the same DataTable. 기본 키가 있는 경우 들어오는 행이 이미 존재 하는 일치 하는 행과 병합 됩니다.If a primary key exists, incoming rows are merged with matching rows that already exist. 들어오는 행에 추가 된 기본 키가 없으면는 DataTable합니다.If no primary key exists, incoming rows are appended to the DataTable.

참고

여러 결과를 반환 하는 일괄 처리 SQL 문을 처리할 때 FillSchema OLE DB에 대 한 .NET Framework Data Provider의 구현은 첫 번째 결과에 대해서만 스키마 정보를 검색 합니다.When handling batch SQL statements that return multiple results, the implementation of FillSchema for the .NET Framework Data Provider for OLE DB retrieves schema information for only the first result. 여러 결과에 대 한 스키마 정보를 검색 하려면 Fill 를로 설정 하 여를 사용 MissingSchemaAction AddWithKey 합니다.To retrieve schema information for multiple results, use Fill with the MissingSchemaAction set to AddWithKey.

추가 정보

적용 대상

Fill(DataTable, IDataReader)

DataTable 이름 및 지정된 DataTable를 사용하여 데이터 소스의 행과 일치하도록 IDataReader의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in the DataTable to match those in the data source using the DataTable name and the specified IDataReader.

protected:
 virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
abstract member Fill : System.Data.DataTable * System.Data.IDataReader -> int
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer

매개 변수

dataTable
DataTable

레코드로 채울 DataTable입니다.A DataTable to fill with records.

dataReader
IDataReader

IDataReader의 인스턴스입니다.An instance of IDataReader.

반환

Int32

DataTable에 성공적으로 추가했거나 새로 고친 행의 수를 반환합니다.The number of rows successfully added to or refreshed in the DataTable. 여기에는 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.This does not include rows affected by statements that do not return rows.

설명

자세한 내용은에 대 한 설명을 참조 하십시오 DataAdapter.Fill(DataSet) .See the remarks for DataAdapter.Fill(DataSet) for additional information.

적용 대상

Fill(DataTable[], IDataReader, Int32, Int32)

DataTable 개체 컬렉션의 지정된 범위에서 데이터 소스의 행과 일치하도록 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in a specified range in the collection of DataTable objects to match those in the data source.

protected:
 virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataTable[] dataTables, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
abstract member Fill : System.Data.DataTable[] * System.Data.IDataReader * int * int -> int
override this.Fill : System.Data.DataTable[] * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataTables As DataTable(), dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer

매개 변수

dataTables
DataTable[]

레코드로 채울 DataTable 개체의 컬렉션입니다.A collection of DataTable objects to fill with records.

dataReader
IDataReader

IDataReader의 인스턴스입니다.An instance of IDataReader.

startRecord
Int32

레코드 시작의 인덱스(0부터 시작)입니다.The zero-based index of the starting record.

maxRecords
Int32

최대 레코드 수를 나타내는 정수입니다.An integer indicating the maximum number of records.

반환

Int32

DataTable에 성공적으로 추가했거나 새로 고친 행의 수를 반환합니다.The number of rows successfully added to or refreshed in the DataTable. 여기에는 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.This does not include rows affected by statements that do not return rows.

설명

자세한 내용은에 대 한 설명을 참조 하십시오 System.Data.Common.DataAdapter.Fill(System.Data.DataSet) .See the remarks for System.Data.Common.DataAdapter.Fill(System.Data.DataSet) for additional information.

적용 대상

Fill(DataSet, String, IDataReader, Int32, Int32)

DataSetDataSet 이름을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.Adds or refreshes rows in a specified range in the DataSet to match those in the data source using the DataSet and DataTable names.

protected:
 virtual int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataSet dataSet, string srcTable, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
abstract member Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
override this.Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataSet As DataSet, srcTable As String, dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer

매개 변수

dataSet
DataSet

레코드로 채울 DataSet입니다.A DataSet to fill with records.

srcTable
String

소스 테이블의 이름을 나타내는 문자열입니다.A string indicating the name of the source table.

dataReader
IDataReader

IDataReader의 인스턴스입니다.An instance of IDataReader.

startRecord
Int32

레코드 시작의 인덱스(0부터 시작)입니다.The zero-based index of the starting record.

maxRecords
Int32

최대 레코드 수를 나타내는 정수입니다.An integer indicating the maximum number of records.

반환

Int32

DataSet에 성공적으로 추가했거나 새로 고친 행의 수를 반환합니다.The number of rows successfully added to or refreshed in the DataSet. 여기에는 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.This does not include rows affected by statements that do not return rows.

설명

자세한 내용은에 대 한 설명을 참조 하십시오 System.Data.Common.DataAdapter.Fill(System.Data.DataSet) .See the remarks for System.Data.Common.DataAdapter.Fill(System.Data.DataSet) for additional information.

적용 대상