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 は、指定された DataSet に DataTable を追加します。次に、 DataTable の DataColumnCollection に列を追加します。データ ソースに次の DataColumn プロパティが存在する場合は、それを設定します。
- AllowDBNull
- AutoIncrement (AutoIncrementStep および AutoIncrementSeed は個別に設定する必要があります)
- MaxLength
- ReadOnly
- Unique
また、 FillSchema は、次の規則に従って、 PrimaryKey プロパティと Constraints プロパティも設定します。
- SelectCommand によって 1 つ以上の主キー列が返された場合は、それを DataTable の主キー列として使用します。
- 主キー列が返されず、一意の列が返された場合、それらの列すべてが null 値を許容しないときに限り、一意の列を主キーとして使用します。いずれかの列が null 値を許容するときは、 ConstraintCollection に UniqueConstraint を追加します。 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