DbDataAdapter.Fill 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| Name | Description |
|---|---|
| Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) |
원본 테이블 이름, 명령 문자열 및 명령 동작을 사용하여 데이터 원본의 행과 일치하도록 지정된 범위 DataSet 의 DataSet 행을 추가하거나 새로 고칩니다. |
| Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior) |
지정한 범위 DataSet 의 행을 추가하거나 새로 고쳐서 데이터 원본의 행과 일치하는 행 및 DataTable 이름을 사용합니다DataSet. |
| Fill(DataSet, String, IDataReader, Int32, Int32) |
및 이름을 사용하여 데이터 원본의 행과 IDataReader 일치하도록 지정된 범위 DataSet 의 행을 DataSetDataTable추가하거나 새로 고칩니다. |
| Fill(DataSet, Int32, Int32, String) |
지정한 범위 DataSet 의 행을 추가하거나 새로 고쳐서 데이터 원본의 행과 일치하는 행 및 DataTable 이름을 사용합니다DataSet. |
| Fill(Int32, Int32, DataTable[]) |
지정된 레코드에서 시작하여 지정된 최대 레코드 수까지 검색하여 데이터 원본의 행과 일치하도록 하나 이상의 DataTable 개체에 행을 추가하거나 새로 고칩니다. |
| Fill(DataTable) |
이름을 사용하여 DataTable 데이터 원본의 행과 일치하도록 지정된 범위 DataSet 의 행을 추가하거나 새로 고칩니다. |
| Fill(DataTable, IDataReader) |
지정된 DataTable 이름과 이름을 사용하여 데이터 원본의 행과 IDataReader 일치하도록 행 DataTable 을 추가하거나 새로 고칩니다. |
| Fill(DataSet, String) |
및 이름을 사용하여 데이터 원본의 DataSet 행과 DataTable 일치하도록 행을 DataSet 추가하거나 새로 고칩니다. |
| Fill(DataSet) |
에서 DataSet행을 추가하거나 새로 고칩니다. |
| Fill(DataTable, IDbCommand, CommandBehavior) |
지정된 DataTableIDbCommand 행을 DataTable 사용하여 데이터 원본의 행과 CommandBehavior일치하도록 행을 추가하거나 새로 고칩니다. |
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
protected:
virtual int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill(System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataSet * int * int * string * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String, command As IDbCommand, behavior As CommandBehavior) As Integer
매개 변수
- startRecord
- Int32
시작할 레코드 번호(0부터 시작)입니다.
- maxRecords
- Int32
검색할 최대 레코드 수입니다. 시작 레코드 뒤의 모든 레코드를 검색하려면 0을 지정합니다.
- srcTable
- String
테이블 매핑에 사용할 원본 테이블의 이름입니다.
- command
- IDbCommand
데이터 원본에서 행을 검색하는 데 사용되는 SQL SELECT 문입니다.
- behavior
- CommandBehavior
값 중 CommandBehavior 하나입니다.
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataSet입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
예외
원본 테이블이 잘못되었습니다.
설명
값 0은 maxRecords 시작 레코드 이후에 찾은 모든 레코드를 가져옵니다. 나머지 행 수보다 크면 maxRecords 나머지 행만 반환되고 오류가 발생하지 않습니다.
이 메서드는 Fill 연결된 SelectCommand 속성에 지정된 SELECT 문을 사용하여 데이터 원본에서 행을 검색합니다. SELECT 문과 연결된 연결 개체는 유효해야 하지만 열 필요는 없습니다. 연결이 호출되기 전에 Fill 닫힌 경우 데이터를 검색하기 위해 연 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
그런 다음, Fill 행을 대상 DataTable 개체에 DataSet추가하여 개체가 아직 없는 경우 해당 개체를 DataTable 만듭니다. 개체를 Fill 만들 DataTable 때 작업은 일반적으로 열 이름 메타데이터만 만듭니다. 그러나 속성이 MissingSchemaAction 설정된 AddWithKey경우 적절한 기본 키와 제약 조건도 생성됩니다.
DbDataAdapter 채우는 DataTable동안 중복 열이 발생하면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다. 각 결과 집합에 여러 결과 집합이 DataSet 추가되면 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 앱에서 열 및 테이블 이름을 사용하는 경우 이러한 명명 패턴과 충돌하지 않는지 확인합니다.
이 메서드는 Fill 이름이 대/소문자 DataSet 만 다른 여러 DataTable 개체를 포함하는 시나리오를 지원합니다. 이러한 경우 Fill 대/소문자 구분 비교를 수행하여 해당 테이블을 찾고, 정확히 일치하는 테이블이 없으면 새 테이블을 만듭니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
호출되고 DataSet 이름이 대/소문 DataTable 자별로만 다른 이름 DataTable 만 포함된 경우 Fill 업데이트됩니다. 이 시나리오에서 비교는 대/소문자를 구분하지 않습니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
메서드를 Fill 동일한 DataTable방법으로 여러 번 사용할 수 있습니다. 기본 키가 있는 경우 들어오는 행은 이미 존재하는 일치하는 행과 병합됩니다. 기본 키가 없으면 들어오는 행이 에 추가됩니다 DataTable.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
메모
여러 결과를 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework 데이터 공급자의 Fill 구현 및 FillSchema 첫 번째 결과에 대한 스키마 정보만 검색합니다.
상속자 참고
이 메서드 오버 Fill(DataSet) 로드는 보호되며 .NET Framework 데이터 공급자가 사용하도록 설계되었습니다.
추가 정보
적용 대상
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
protected:
virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, int startRecord, int maxRecords, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill(System.Data.DataTable[] dataTables, int startRecord, int maxRecords, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable[] * int * int * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTables As DataTable(), startRecord As Integer, maxRecords As Integer, command As IDbCommand, behavior As CommandBehavior) As Integer
매개 변수
- startRecord
- Int32
시작할 레코드 번호(0부터 시작)입니다.
- maxRecords
- Int32
검색할 최대 레코드 수입니다. 시작 레코드 뒤의 모든 레코드를 검색하려면 0을 지정합니다.
- command
- IDbCommand
IDbCommand 개체를 채우기 위해 실행된 것입니다DataTable.
- behavior
- CommandBehavior
값 중 CommandBehavior 하나입니다.
반환
데이터 테이블에 추가되거나 새로 고쳐진 행 수입니다.
예외
DataSet 유효하지 않습니다.
연결을 찾을 수 없습니다.
설명
값 0은 maxRecords 시작 레코드 이후에 찾은 모든 레코드를 가져옵니다. 나머지 행 수보다 크면 maxRecords 나머지 행만 반환되고 오류가 발생하지 않습니다.
이 메서드는 Fill SELECT 문을 사용하여 데이터 원본에서 데이터를 검색합니다. SELECT 문과 연결된 개체는 IDbConnection 유효해야 하지만 열 필요는 없습니다. 호출하기 IDbConnection 전에 Fill 닫힌 경우 데이터를 검색하기 위해 연 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
명령이 행을 반환하지 않으면 테이블이 추가 DataSet되지 않지만 예외는 발생하지 않습니다.
개체가 DbDataAdapter 채우는 DataTable동안 중복 열이 발견되면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다.
지정된 쿼리가 여러 결과를 반환하면 각 결과 집합이 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 행을 반환하지 않는 쿼리에 대해 테이블이 만들어지지 않으므로 삽입 쿼리를 처리한 다음 선택 쿼리를 처리하려는 경우 첫 번째 테이블이므로 select 쿼리에 대해 만든 테이블의 이름은 "Table"입니다. 앱에서 열 및 테이블 이름을 사용하는 경우 이러한 명명 패턴과 충돌하지 않는지 확인합니다.
이 메서드는 Fill 이름이 대/소문자 DataSet 만 다른 여러 DataTable 개체를 포함하는 시나리오를 지원합니다. 이러한 경우 Fill 대/소문자 구분 비교를 수행하여 해당 테이블을 찾고, 정확히 일치하는 테이블이 없으면 새 테이블을 만듭니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
호출되고 DataSet 이름이 대/소문 DataTable 자별로만 다른 이름 DataTable 만 포함된 경우 Fill 업데이트됩니다. 이 시나리오에서 비교는 대/소문자를 구분하지 않습니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
데이터 테이블을 채우는 동안 오류 또는 예외가 발생하면 오류가 발생하기 전에 추가된 행이 데이터 테이블에 남아 있습니다. 작업의 나머지가 중단됩니다.
개체를 채우는 DataTable 데 사용되는 SELECT 문이 일괄 처리 SQL 문과 같은 여러 결과를 반환하는 경우 다음 사항에 유의해야 합니다.
일괄 처리 SQL 문
maxRecords에서 여러 결과를 처리하는 경우 첫 번째 결과에만 적용됩니다. 장 결과가 포함된 행도 마찬가지입니다(.NET Framework Data Provider for OLE DB에만 해당). 최상위 결과는 제한maxRecords되지만 모든 자식 행이 추가됩니다.결과 중 하나에 오류가 포함된 경우 모든 후속 결과를 건너뜁니다.
메모
에 DataSet 표시된 maxRecords레코드 수를 초과하지 않습니다. 그러나 쿼리에서 생성된 전체 결과 집합은 여전히 서버에서 반환됩니다.
상속자 참고
파생 클래스에서 재정의하는 Fill(DataSet) 경우 기본 클래스의 Fill(DataSet) 메서드를 호출해야 합니다.
추가 정보
적용 대상
Fill(DataSet, String, IDataReader, Int32, Int32)
및 이름을 사용하여 데이터 원본의 행과 IDataReader 일치하도록 지정된 범위 DataSet 의 행을 DataSetDataTable추가하거나 새로 고칩니다.
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);
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
매개 변수
- dataReader
- IDataReader
IDataReader의 이름입니다.
- startRecord
- Int32
시작할 레코드 번호(0부터 시작)입니다.
- maxRecords
- Int32
검색할 최대 레코드 수입니다. 시작 레코드 뒤의 모든 레코드를 검색하려면 0을 지정합니다.
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataSet입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
예외
설명
값 0은 maxRecords 시작 레코드 이후에 찾은 모든 레코드를 가져옵니다. 나머지 행 수보다 크면 maxRecords 나머지 행만 반환되고 오류가 발생하지 않습니다.
적용 대상
Fill(DataSet, Int32, Int32, String)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable);
public int Fill(System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable);
override this.Fill : System.Data.DataSet * int * int * string -> int
Public Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String) As Integer
매개 변수
- startRecord
- Int32
시작할 레코드 번호(0부터 시작)입니다.
- maxRecords
- Int32
검색할 최대 레코드 수입니다. 시작 레코드 뒤의 모든 레코드를 검색하려면 0을 지정합니다.
- srcTable
- String
테이블 매핑에 사용할 원본 테이블의 이름입니다.
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataSet입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
예외
DataSet 유효하지 않습니다.
연결을 찾을 수 없습니다.
예제
다음 예제에서는 파생 클래스OleDbDataAdapter를 사용하여 Categories 테이블에서 행 10부터 15개 행으로 채웁니다DataSet. 이 예제에서는 사용자가 만든 OleDbDataAdapter 것으로 가정 합니다.DataSet
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet,9,15,"Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, 9, 15, "Categories")
End Sub
설명
값 0은 maxRecords 시작 레코드 이후에 찾은 모든 레코드를 가져옵니다. 나머지 행 수보다 크면 maxRecords 나머지 행만 반환되고 오류가 발생하지 않습니다.
해당 select 명령이 여러 결과를 Fill 반환하는 문인 경우 첫 번째 결과에만 적용됩니다 maxRecords .
이 메서드는 Fill SELECT 문을 사용하여 데이터 원본에서 데이터를 검색합니다. SELECT 문과 연결된 개체는 IDbConnection 유효해야 하지만 열 필요는 없습니다. 호출하기 IDbConnection 전에 Fill 닫힌 경우 데이터를 검색하기 위해 열린 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
명령이 행을 반환하지 않으면 테이블이 추가 DataSet되지 않지만 예외는 발생하지 않습니다.
개체가 DbDataAdapter 채우는 DataTable동안 중복 열이 발견되면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다.
지정된 쿼리가 여러 결과를 반환하면 각 결과 집합이 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 행을 반환하지 않는 쿼리에 대해 테이블이 만들어지지 않으므로 삽입 쿼리를 처리한 다음 선택 쿼리를 처리하는 경우 첫 번째 테이블이므로 select 쿼리에 대해 만든 테이블의 이름은 "Table"입니다. 앱에서 열 및 테이블 이름을 사용하는 경우 이러한 명명 패턴과 충돌하지 않는지 확인합니다.
이 메서드는 Fill 이름이 대/소문자 DataSet 만 다른 여러 DataTable 개체를 포함하는 시나리오를 지원합니다. 이러한 경우 Fill 대/소문자 구분 비교를 수행하여 해당 테이블을 찾고, 정확히 일치하는 테이블이 없으면 새 테이블을 만듭니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
호출되고 DataSet 이름이 대/소문 DataTable 자별로만 다른 이름 DataTable 만 포함된 경우 Fill 업데이트됩니다. 이 시나리오에서 비교는 대/소문자를 구분하지 않습니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
데이터 테이블을 채우는 동안 오류 또는 예외가 발생하면 오류가 발생하기 전에 추가된 행이 데이터 테이블에 남아 있습니다. 작업의 나머지가 중단됩니다.
일괄 처리 SQL 문과 같은 여러 결과를 반환 DataSet 하는 데 사용되는 SELECT 문은 다음 사항에 유의해야 합니다.
일괄 처리 SQL 문
maxRecords에서 여러 결과를 처리하는 경우 첫 번째 결과에만 적용됩니다. 장 결과가 포함된 행도 마찬가지입니다(.NET Framework Data Provider for OLE DB에만 해당). 최상위 결과는 제한maxRecords되지만 모든 자식 행이 추가됩니다.결과 중 하나에 오류가 포함된 경우 모든 후속 결과를 건너뛰고 에 추가 DataSet되지 않습니다.
후속 Fill 호출을 사용하여 내용을 DataSet새로 고치는 경우 다음 두 조건을 충족해야 합니다.
SQL 문은 처음에 을 채우는 데 사용된 문과 DataSet일치해야 합니다.
키 열 정보가 있어야 합니다.
기본 키 정보가 있는 경우 중복 행이 조정되고 해당 행에 해당하는 DataSet행에 DataTable 한 번만 표시됩니다. 기본 키 정보는 속성을 지정하거나 PrimaryKey 속성을 로 설정 MissingSchemaActionAddWithKey하여 설정할 FillSchema수 DataTable있습니다.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
메모
여러 결과를 FillSchema 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB 구현은 첫 번째 결과에 대한 스키마 정보만 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 다음 집합AddWithKey과 함께 MissingSchemaAction 사용합니다Fill.
메모
에 DataSet 표시된 maxRecords레코드 수를 초과하지 않습니다. 그러나 쿼리에서 생성된 전체 결과 집합은 여전히 서버에서 반환됩니다.
상속자 참고
파생 클래스에서 재정의하는 Fill(DataSet) 경우 기본 클래스의 Fill(DataSet) 메서드를 호출해야 합니다.
추가 정보
적용 대상
Fill(Int32, Int32, DataTable[])
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
지정된 레코드에서 시작하여 지정된 최대 레코드 수까지 검색하여 데이터 원본의 행과 일치하도록 하나 이상의 DataTable 개체에 행을 추가하거나 새로 고칩니다.
public:
int Fill(int startRecord, int maxRecords, ... cli::array <System::Data::DataTable ^> ^ dataTables);
public int Fill(int startRecord, int maxRecords, params System.Data.DataTable[] dataTables);
override this.Fill : int * int * System.Data.DataTable[] -> int
Public Function Fill (startRecord As Integer, maxRecords As Integer, ParamArray dataTables As DataTable()) As Integer
매개 변수
- startRecord
- Int32
시작할 레코드 번호(0부터 시작)입니다.
- maxRecords
- Int32
검색할 최대 레코드 수입니다. 시작 레코드 뒤의 모든 레코드를 검색하려면 0을 지정합니다.
반환
개체에 성공적으로 추가되거나 새로 고쳐진 행의 DataTable 수입니다. 이 값에는 행을 반환하지 않는 문의 영향을 받는 행이 포함되지 않습니다.
예외
dataTables 이거나 null 빈 배열입니다.
설명
값 0은 maxRecords 시작 레코드 이후에 찾은 모든 레코드를 가져옵니다. 나머지 행 수보다 크면 maxRecords 나머지 행만 반환되고 오류가 발생하지 않습니다.
이 메서드는 Fill 연결된 SelectCommand 속성에 지정된 SELECT 문을 사용하여 데이터 원본에서 행을 검색합니다. SELECT 문과 연결된 연결 개체는 유효해야 하지만 열 필요는 없습니다. 연결이 호출되기 전에 Fill 닫힌 경우 데이터를 검색하기 위해 열린 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
그런 다음, Fill 행을 대상 DataTable 개체에 DataSet추가하여 개체가 아직 없는 경우 해당 개체를 DataTable 만듭니다. 개체를 Fill 만들 DataTable 때 작업은 일반적으로 열 이름 메타데이터만 만듭니다. 그러나 속성이 MissingSchemaAction 설정된 AddWithKey경우 적절한 기본 키와 제약 조건도 생성됩니다.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
데이터 어댑터가 채우는 DataTable동안 중복 열이 발견되면 "columnname1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다. 여러 결과 집합이 추가 DataSet되면 각 결과 집합이 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 앱에서 열 및 테이블 이름을 사용하는 경우 이러한 명명 패턴과 충돌하지 않는지 확인합니다.
일괄 처리 SQL 문과 같은 여러 결과를 채우는 DataSet 데 사용되는 SELECT 문이 결과 중 하나에 오류가 포함된 경우 모든 후속 결과를 건너뛰고 추가 DataSet되지 않습니다.
메서드를 Fill 동일한 DataTable방법으로 여러 번 사용할 수 있습니다. 기본 키가 있는 경우 들어오는 행은 이미 존재하는 일치하는 행과 병합됩니다. 기본 키가 없으면 들어오는 행이 에 추가됩니다 DataTable.
메모
여러 결과를 FillSchema 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB 구현은 첫 번째 결과에 대한 스키마 정보만 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 다음 집합AddWithKey과 함께 MissingSchemaAction 사용합니다Fill.
추가 정보
적용 대상
Fill(DataTable)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataTable ^ dataTable);
public int Fill(System.Data.DataTable dataTable);
override this.Fill : System.Data.DataTable -> int
Public Function Fill (dataTable As DataTable) As Integer
매개 변수
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataSet입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
예외
원본 테이블이 잘못되었습니다.
설명
이 메서드는 Fill 연결된 SelectCommand 속성에 지정된 SELECT 문을 사용하여 데이터 원본에서 행을 검색합니다. SELECT 문과 연결된 연결 개체는 유효해야 하지만 열 필요는 없습니다. 연결이 호출되기 전에 Fill 닫힌 경우 데이터를 검색하기 위해 연 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
그런 다음, Fill 행을 대상 DataTable 개체에 DataSet추가하여 개체가 아직 없는 경우 해당 개체를 DataTable 만듭니다. 개체를 Fill 만들 DataTable 때 작업은 일반적으로 열 이름 메타데이터만 만듭니다. 그러나 속성이 MissingSchemaAction 설정된 AddWithKey경우 적절한 기본 키와 제약 조건도 생성됩니다.
DbDataAdapter 채우는 DataTable동안 중복 열이 발생하면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다. 각 결과 집합에 여러 결과 집합이 DataSet 추가되면 별도의 테이블에 배치됩니다.
매개 변수로 사용하는 DataTable 오버로드는 Fill 첫 번째 결과만 가져옵니다. 매개 변수로 사용하는 DataSet 오버로드 Fill 를 사용하여 여러 결과를 가져옵니다.
이 메서드는 Fill 이름이 대/소문자 DataSet 만 다른 여러 DataTable 개체를 포함하는 시나리오를 지원합니다. 이러한 경우 Fill 대/소문자 구분 비교를 수행하여 해당 테이블을 찾고, 정확히 일치하는 테이블이 없으면 새 테이블을 만듭니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
호출되고 DataSet 이름이 대/소문 DataTable 자별로만 다른 이름 DataTable 만 포함된 경우 Fill 업데이트됩니다. 이 시나리오에서 비교는 대/소문자를 구분하지 않습니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
메서드를 Fill 동일한 DataTable방법으로 여러 번 사용할 수 있습니다. 기본 키가 있는 경우 들어오는 행은 이미 존재하는 일치하는 행과 병합됩니다. 기본 키가 없으면 들어오는 행이 에 추가됩니다 DataTable.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
메모
여러 결과를 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework 데이터 공급자의 Fill 구현 및 FillSchema 첫 번째 결과에 대한 스키마 정보만 검색합니다.
상속자 참고
이 메서드 오버 Fill(DataSet) 로드는 보호되며 .NET Framework 데이터 공급자가 사용하도록 설계되었습니다.
추가 정보
적용 대상
Fill(DataTable, IDataReader)
지정된 DataTable 이름과 이름을 사용하여 데이터 원본의 행과 IDataReader 일치하도록 행 DataTable 을 추가하거나 새로 고칩니다.
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill(System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer
매개 변수
- dataReader
- IDataReader
IDataReader의 이름입니다.
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataTable입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
적용 대상
Fill(DataSet, String)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable);
public int Fill(System.Data.DataSet dataSet, string srcTable);
override this.Fill : System.Data.DataSet * string -> int
Public Function Fill (dataSet As DataSet, srcTable As String) As Integer
매개 변수
- srcTable
- String
테이블 매핑에 사용할 원본 테이블의 이름입니다.
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataSet입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
예외
원본 테이블이 잘못되었습니다.
예제
다음 예제에서는 파생 클래스 OleDbDataAdapter를 사용하여 범주 테이블의 행을 DataSet 채웁니다. 이 예제에서는 사용자가 만든 OleDbDataAdapter 것으로 가정 합니다.DataSet
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet, "Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, "Categories")
End Sub
설명
이 메서드는 Fill SELECT 문을 사용하여 데이터 원본에서 데이터를 검색합니다. select 명령과 연결된 개체는 IDbConnection 유효해야 하지만 열 필요는 없습니다. 호출하기 IDbConnection 전에 Fill 닫힌 경우 데이터를 검색하기 위해 연 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
명령이 행을 반환하지 않으면 테이블에 테이블이 추가 DataSet되지 않으며 예외가 발생하지 않습니다.
개체가 DbDataAdapter 채우는 DataTable동안 중복 열이 발견되면 "columnname1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다.
지정된 쿼리가 여러 결과를 반환하면 각 결과 집합이 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 행을 반환하지 않는 쿼리에 대해 테이블이 만들어지지 않으므로 삽입 쿼리를 처리한 다음 선택 쿼리를 처리하려는 경우 첫 번째 테이블이므로 select 쿼리에 대해 만든 테이블의 이름은 "Table"입니다. 앱에서 열 및 테이블 이름을 사용하는 경우 이러한 명명 패턴과 충돌하지 않는지 확인합니다.
이 메서드는 Fill 이름이 대/소문자 DataSet 만 다른 여러 DataTable 개체를 포함하는 시나리오를 지원합니다. 이러한 경우 Fill 대/소문자 구분 비교를 수행하여 해당 테이블을 찾고, 정확히 일치하는 테이블이 없으면 새 테이블을 만듭니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
호출되고 DataSet 이름이 대/소문 DataTable 자별로만 다른 이름 DataTable 만 포함된 경우 Fill 업데이트됩니다. 이 시나리오에서 비교는 대/소문자를 구분하지 않습니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
데이터 테이블을 채우는 동안 오류 또는 예외가 발생하면 오류가 발생하기 전에 추가된 행이 데이터 테이블에 남아 있습니다. 작업의 나머지가 중단됩니다.
BATCH SQL 문과 같은 여러 결과를 반환 DataSet 하는 데 사용되는 SELECT 문은 다음 사항에 유의해야 합니다.
- 결과 중 하나에 오류가 포함된 경우 모든 후속 결과를 건너뛰고 에 추가 DataSet되지 않습니다.
후속 Fill 호출을 사용하여 내용을 DataSet새로 고치는 경우 다음 두 조건을 충족해야 합니다.
SQL 문은 처음에 을 채우는 데 사용된 문과 DataSet일치해야 합니다.
키 열 정보가 있어야 합니다. 기본 키 정보가 있는 경우 중복 행이 조정되고 해당 행에 해당하는 DataSet행에 DataTable 한 번만 표시됩니다. 기본 키 정보는 속성을 지정하거나 PrimaryKey 속성을 로 설정 MissingSchemaAction
AddWithKey하여 설정할 FillSchema수 DataTable있습니다.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
메모
여러 결과를 FillSchema 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB 구현은 첫 번째 결과에 대한 스키마 정보만 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 다음 집합AddWithKey과 함께 MissingSchemaAction 사용합니다Fill.
상속자 참고
파생 클래스에서 재정의하는 Fill(DataSet) 경우 기본 클래스의 Fill(DataSet) 메서드를 호출해야 합니다.
추가 정보
적용 대상
Fill(DataSet)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
에서 DataSet행을 추가하거나 새로 고칩니다.
public:
override int Fill(System::Data::DataSet ^ dataSet);
public override int Fill(System.Data.DataSet dataSet);
override this.Fill : System.Data.DataSet -> int
Public Overrides Function Fill (dataSet As DataSet) As Integer
매개 변수
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataSet입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
구현
설명
이 메서드는 Fill SELECT 문을 사용하여 데이터 원본에서 데이터를 검색합니다. select 명령과 연결된 개체는 IDbConnection 유효해야 하지만 열 필요는 없습니다. 호출하기 IDbConnection 전에 Fill 닫힌 경우 데이터를 검색하기 위해 열린 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
데이터 테이블을 채우는 동안 오류 또는 예외가 발생하면 오류가 발생하기 전에 추가된 행이 데이터 테이블에 남아 있습니다. 작업의 나머지가 중단됩니다.
명령이 행을 반환하지 않으면 테이블에 테이블이 추가 DataSet되지 않으며 예외가 발생하지 않습니다.
개체가 DbDataAdapter 채우는 DataTable동안 중복 열이 발견되면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다.
지정된 쿼리가 여러 결과를 반환하면 쿼리를 반환하는 각 행에 대한 결과 집합이 별도의 테이블에 배치됩니다. 지정된 테이블 이름(예: "Table", "Table1", "Table2" 등)에 정수 값을 추가하여 추가 결과 집합의 이름을 지정합니다. 행을 반환하지 않는 쿼리에 대해 테이블이 만들어지지 않으므로 삽입 쿼리를 처리한 다음 선택 쿼리를 처리하는 경우 첫 번째 테이블이므로 select 쿼리에 대해 만든 테이블의 이름은 "Table"입니다. 앱에서 열 및 테이블 이름을 사용하는 경우 이러한 명명 패턴과 충돌하지 않는지 확인합니다.
일괄 처리 SQL 문과 같은 여러 결과를 채우는 DataSet 데 사용되는 SELECT 문이 결과 중 하나에 오류가 포함된 경우 모든 후속 결과를 건너뛰고 추가 DataSet되지 않습니다.
후속 Fill 호출을 사용하여 내용을 DataSet새로 고치는 경우 다음 두 조건을 충족해야 합니다.
SQL 문은 처음에 을 채우는 데 사용된 문과 DataSet일치해야 합니다.
키 열 정보가 있어야 합니다.
기본 키 정보가 있는 경우 중복 행이 조정되고 해당 행에 해당하는 DataSet행에 DataTable 한 번만 표시됩니다. 기본 키 정보는 속성을 지정하거나 PrimaryKey 속성을 로 설정 MissingSchemaActionAddWithKey하여 설정할 FillSchema수 DataTable있습니다.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
메모
여러 결과를 FillSchema 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB 구현은 첫 번째 결과에 대한 스키마 정보만 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 다음 집합AddWithKey과 함께 MissingSchemaAction 사용합니다Fill.
추가 정보
적용 대상
Fill(DataTable, IDbCommand, CommandBehavior)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
지정된 DataTableIDbCommand 행을 DataTable 사용하여 데이터 원본의 행과 CommandBehavior일치하도록 행을 추가하거나 새로 고칩니다.
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill(System.Data.DataTable dataTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTable As DataTable, command As IDbCommand, behavior As CommandBehavior) As Integer
매개 변수
- command
- IDbCommand
데이터 원본에서 행을 검색하는 데 사용되는 SQL SELECT 문입니다.
- behavior
- CommandBehavior
값 중 CommandBehavior 하나입니다.
반환
에 성공적으로 추가되거나 새로 고쳐진 행 수 DataTable입니다. 행을 반환하지 않는 문의 영향을 받는 행은 포함되지 않습니다.
설명
이 메서드는 Fill 연결된 SelectCommand 속성에 지정된 SELECT 문을 사용하여 데이터 원본에서 행을 검색합니다. SELECT 문과 연결된 연결 개체는 유효해야 하지만 열 필요는 없습니다. 연결이 호출되기 전에 Fill 닫힌 경우 데이터를 검색하기 위해 열린 다음 닫힙니다. 연결이 호출되기 전에 Fill 열려 있으면 열린 상태로 유지됩니다.
그런 Fill 다음, 작업이 지정된 대상 DataTable 개체에 행을 DataSet추가하여 개체가 아직 없는 경우 해당 개체를 DataTable 만듭니다. 개체 Fill 를 DataTable 만들 때 작업은 일반적으로 열 이름 메타데이터만 만듭니다. 그러나 속성이 MissingSchemaAction 설정된 AddWithKey경우 적절한 기본 키와 제약 조건도 생성됩니다.
개체가 DbDataAdapter 채우는 DataTable동안 중복 열이 발견되면 "columnname 1", "columnname2", "columnname3" 등의 패턴을 사용하여 후속 열의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 등의 패턴에 따라 배치 DataSet 됩니다.
매개 변수로 사용하는 DataTable 오버로드는 Fill 첫 번째 결과만 가져옵니다. 매개 변수로 사용하는 DataSet 오버로드 Fill 를 사용하여 여러 결과를 가져옵니다.
메서드를 Fill 동일한 DataTable방법으로 여러 번 사용할 수 있습니다. 기본 키가 있는 경우 들어오는 행은 이미 존재하는 일치하는 행과 병합됩니다. 기본 키가 없으면 들어오는 행이 에 추가됩니다 DataTable.
SelectCommand가 OUTER JOIN 결과를 반환하는 경우, DataAdapter는 생성된 PrimaryKey에 대해 DataTable 값을 설정하지 않습니다. 중복 행이 올바르게 확인되도록 기본 키를 명시적으로 정의해야 합니다. 자세한 내용은 기본 키 정의합니다.
메모
여러 결과를 FillSchema 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB 구현은 첫 번째 결과에 대한 스키마 정보만 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 다음 집합AddWithKey과 함께 MissingSchemaAction 사용합니다Fill.
상속자 참고
이 메서드 오버 Fill(DataSet) 로드는 보호되며 .NET Framework 데이터 공급자가 사용하도록 설계되었습니다.