IDataAdapter.FillSchema メソッド

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

Function FillSchema( _
   ByVal dataSet As DataSet, _   ByVal schemaType As SchemaType _) As DataTable()
[C#]
DataTable[] FillSchema(
   DataSetdataSet,SchemaTypeschemaType);
[C++]
DataTable* FillSchema(
   DataSet* dataSet,SchemaTypeschemaType) [];
[JScript]
function FillSchema(
   dataSet : DataSet,schemaType : SchemaType) : DataTable[];

パラメータ

  • dataSet
    データ ソースから返されたスキーマを格納するための DataSet
  • schemaType
    SchemaType 値の 1 つ。

戻り値

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

解説

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

FillSchema は、指定された DataSetDataTable を追加します。次に、 DataTableDataColumnCollection に列を追加します。データ ソースに次の DataColumn プロパティが存在する場合は、それを設定します。

また、 FillSchema は、次の規則に従って、 PrimaryKey プロパティと Constraints プロパティも設定します。

  • SelectCommand によって 1 つ以上の主キー列が返された場合は、それを DataTable の主キー列として使用します。
  • 主キー列が返されず、一意の列が返された場合、それらの列すべてが null 値を許容しないときに限り、一意の列を主キーとして使用します。いずれかの列が null 値を許容するときは、 ConstraintCollectionUniqueConstraint を追加します。 PrimaryKey プロパティは設定しません。
  • 主キー列と一意の列の両方が返された場合は、主キー列を DataTable の主キー列として使用します。

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

DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列に対しては、 IDataAdapter によって columnname1、columnname2、columnname3 のような形式の名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。 DataSet に複数結果セットを追加するときは、各結果セットが個別のテーブルに格納されます。2 番目以降の結果セットには、指定されたテーブル名に整数値を追加した名前が付けられます。たとえば、Table、Table1、Table2 のようになります。アプリケーションで列名およびテーブル名を使用するときは、これらの形式の名前と衝突しないように注意する必要があります。

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

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

IDataAdapter インターフェイス | IDataAdapter メンバ | System.Data 名前空間 | Fill