IDataAdapter.FillSchema(DataSet, SchemaType) メソッド

定義

"Table" という名前の DataTable を指定された DataSet に追加し、指定された SchemaType に基づいて、データ ソースにあるスキーマと一致するようにスキーマを構成します。

public:
 cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

パラメーター

dataSet
DataSet

データ ソースからのスキーマを格納する DataSet

schemaType
SchemaType

SchemaType 値のいずれか 1 つ。

戻り値

DataTable[]

データ ソースから返されたスキーマ情報が格納された、DataTable オブジェクトの配列。

注釈

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

操作によって FillSchema 、コピー先に a DataTable が追加されます DataSet。 次に、列をDataColumnCollectionDataTableデータ ソースに追加し、次DataColumnのプロパティがデータ ソースに存在する場合は構成します。

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

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

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

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

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

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

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

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

適用対象

こちらもご覧ください