DataAdapter.FillSchema メソッド

定義

DataTable を指定した DataSet に追加します。

オーバーロード

FillSchema(DataSet, SchemaType, String, IDataReader)

DataTable を指定した DataSet に追加します。

FillSchema(DataSet, SchemaType)

指定した DataTableDataSet を追加し、指定した SchemaType に基づいて、データ ソース内のスキーマと一致するようにスキーマを設定します。

FillSchema(DataTable, SchemaType, IDataReader)

DataTable を指定した DataSet に追加します。

FillSchema(DataSet, SchemaType, String, IDataReader)

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);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
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 値のいずれか 1 つ。

srcTable
String

テーブル マップに使用するソース テーブルの名前。

dataReader
IDataReader

IDataReader にデータを格納するときにデータ ソースとして使用する DataTable

戻り値

DataTable[]

DataSet に追加された DataTable オブジェクトのコレクションへの参照。

こちらもご覧ください

適用対象

FillSchema(DataSet, SchemaType)

指定した DataTableDataSet を追加し、指定した 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);
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);
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 値のいずれか 1 つ。

戻り値

DataTable[]

データ ソースから返されたスキーマ情報が格納された DataTable

実装

注釈

このメソッドは FillSchemaSelectCommand. 関連付けられている SelectCommand 接続オブジェクトは有効である必要がありますが、開いている必要はありません。 接続が呼び出される前に FillSchema 閉じられると、データを取得して閉じるために開かれます。 呼び出される前に FillSchema 接続が開いている場合は、開いたままです。

操作は FillSchema 、宛先に a DataTable を追加します DataSet。 次に、列をDataColumnCollectionDataTableその列に追加し、データ ソースに存在する場合は次DataColumnのプロパティを構成します。

FillSchema また、次の規則に PrimaryKey 従ってプロパティと Constraints プロパティを構成します。

  • 1 つ以上の主キー列が返される SelectCommand場合は、主キー列 DataTableとして使用されます。

  • 主キー列が返されないが、一意の列が返されない場合は、すべての一意の列が無効な場合にのみ、一意の列が主キーとして使用されます。 いずれかの列が null 許容の場合、a UniqueConstraint は 、に ConstraintCollection追加されますが、 PrimaryKey プロパティは設定されません。

  • 主キー列と一意の列の両方が返される場合は、主キー列が主キー列 DataTableとして使用されます。

注意

基になるデータ ストアでは、a で DataColumnサポートされていない列属性が許可される場合があります。これにより、一部の列属性が正しく変換されません。 たとえば、SQL Serverでは、データ型が tinyint の ID 列を許可するのに対DataColumnし、Int16、Int32、Int64 AutoIncrement にのみプロパティを設定できます。 FillSchema は、データ ソースを DataColumn 正確にミラーリングできず、例外をスローしない場合は、警告なしで無視します。

主キーと一意の制約は、上記の ConstraintCollection 規則に従って追加されますが、他の制約の種類は追加されないことに注意してください。

一意のクラスター化インデックスがSQL Server テーブル内の列に定義されていて、主キー制約が別の列セットで定義されている場合は、クラスター化インデックス内の列の名前が返されます。 主キー列の名前を返すには、主キー インデックスの名前を指定する SELECT ステートメントでクエリ ヒントを使用します。 クエリ ヒントの指定の詳細については、「ヒント (Transact-SQL) - クエリ」を参照してください。

入力DataTable中にDataAdapter重複する列が見つかった場合は、パターン "columnname1"、"columnname2"、"columnname3" などを使用して、後続の の名前が生成されます。 受信データに名前のない列が含まれている場合は、"Column1"、"Column2" などのパターンに従って配置 DataSet されます。 複数の結果セットが各結果セットに DataSet 追加されると、個別のテーブルに配置されます。 追加の結果セットには、指定したテーブル名に整数値 ("Table"、"Table1"、"Table2" など) を追加することで名前が付けられます。 列名とテーブル名を使用するアプリケーションでは、これらの名前付けパターンとの競合が発生しないようにする必要があります。

FillSchema は行を返しません。 メソッドを Fill 使用して行を追加します DataTable

注意

複数の結果を返すバッチ SQL ステートメントを処理する場合、OLE DB のFillSchema.NET Framework Data Providerの実装では、最初の結果についてのみスキーマ情報が取得されます。 複数の結果のスキーマ情報を取得するには、次に設定してMissingSchemaAction使用FillしますAddWithKey

こちらもご覧ください

適用対象

FillSchema(DataTable, SchemaType, IDataReader)

DataTable を指定した DataSet に追加します。

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);
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 値のいずれか 1 つ。

dataReader
IDataReader

IDataReader にデータを格納するときにデータ ソースとして使用する DataTable

戻り値

DataTable

データ ソースから返されたスキーマ情報が格納された DataTable

こちらもご覧ください

適用対象