DataAdapter.FillSchema メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
FillSchema(DataSet, SchemaType, String, IDataReader) | |
FillSchema(DataSet, SchemaType) |
指定した DataTable に DataSet を追加し、指定した SchemaType に基づいて、データ ソース内のスキーマと一致するようにスキーマを設定します。 |
FillSchema(DataTable, SchemaType, IDataReader) |
FillSchema(DataSet, SchemaType, String, IDataReader)
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)
指定した DataTable に DataSet を追加し、指定した 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()
パラメーター
- schemaType
- SchemaType
SchemaType 値のいずれか 1 つ。
戻り値
データ ソースから返されたスキーマ情報が格納された DataTable。
実装
注釈
このメソッドは FillSchema 、 SelectCommand. 関連付けられている SelectCommand 接続オブジェクトは有効である必要がありますが、開いている必要はありません。 接続が呼び出される前に FillSchema 閉じられると、データを取得して閉じるために開かれます。 呼び出される前に FillSchema 接続が開いている場合は、開いたままです。
操作は FillSchema 、宛先に a DataTable を追加します DataSet。 次に、列をDataColumnCollectionDataTableその列に追加し、データ ソースに存在する場合は次DataColumnのプロパティを構成します。
AutoIncrement. 個別に設定 AutoIncrementStep する AutoIncrementSeed 必要があります。
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)
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。