次の方法で共有


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)

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs

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

戻り値

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

こちらもご覧ください

適用対象

FillSchema(DataSet, SchemaType)

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs

指定した 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

実装

注釈

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

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

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

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

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

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

注意

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

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

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

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

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

注意

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

こちらもご覧ください

適用対象

FillSchema(DataTable, SchemaType, IDataReader)

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs

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

こちらもご覧ください

適用対象