DbDataAdapter.FillSchemaとは? わかりやすく解説

DbDataAdapter.FillSchema メソッド (DataTable, SchemaType, IDbCommand, CommandBehavior)

指定した SchemaTypeコマンド文字列、および CommandBehavior 値に基づいて指定した DataTableスキーマ設定します

名前空間: System.Data.Common
アセンブリ: System.Data (system.data.dll 内)
構文構文

Protected Overridable Function
 FillSchema ( _
    dataTable As DataTable, _
    schemaType As SchemaType, _
    command As IDbCommand, _
    behavior As CommandBehavior _
) As DataTable
Dim dataTable As DataTable
Dim schemaType As SchemaType
Dim command As IDbCommand
Dim behavior As CommandBehavior
Dim returnValue As DataTable

returnValue = Me.FillSchema(dataTable, schemaType, command, behavior)
protected virtual DataTable FillSchema (
    DataTable dataTable,
    SchemaType schemaType,
    IDbCommand command,
    CommandBehavior behavior
)
protected:
virtual DataTable^ FillSchema (
    DataTable^ dataTable, 
    SchemaType schemaType, 
    IDbCommand^ command, 
    CommandBehavior behavior
)
protected DataTable FillSchema (
    DataTable dataTable, 
    SchemaType schemaType, 
    IDbCommand command, 
    CommandBehavior behavior
)
protected function FillSchema (
    dataTable : DataTable, 
    schemaType : SchemaType, 
    command : IDbCommand, 
    behavior : CommandBehavior
) : DataTable

パラメータ

dataTable

データ ソースから返されスキーマ格納するための DataTable。

schemaType

SchemaType 値の 1 つ

command

データ ソースら行取得するために使用する SQL SELECT ステートメント

behavior

CommandBehavior 値の 1 つ

戻り値
データ ソースから返されスキーマ情報格納されDataTable オブジェクト

解説解説

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

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

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

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

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

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

メモメモ

複数結果返すバッチ SQL ステートメント処理する場合.NET Framework OLE DBデータ プロバイダFillSchema実装では、最初結果スキーマ情報だけが取得されます。複数結果スキーマ情報取得するには、MissingSchemaAction を AddWithKey設定して Fill使用します

FillSchema使用する場合.NET Framework SQL Serverデータ プロバイダは、実行するステートメントに FOR BROWSE 句を追加しますSET FMTONLY ON ステートメント使用による干渉などの副作用注意してください詳細については、SQL Server Books Online参照してください

実装時の注意 FillSchema メソッドのこの実装プロテクトされており、.NET Framework データ プロバイダでの使用想定してます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DbDataAdapter クラス
DbDataAdapter メンバ
System.Data.Common 名前空間
Fill

DbDataAdapter.FillSchema メソッド (DataSet, SchemaType, String)

指定した DataSet に DataTable を追加し指定した SchemaType および DataTable基づいてデータ ソース内のスキーマ一致するようにスキーマ設定します

名前空間: System.Data.Common
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Function FillSchema ( _
    dataSet As DataSet, _
    schemaType As SchemaType, _
    srcTable As String _
) As DataTable()
Dim instance As DbDataAdapter
Dim dataSet As DataSet
Dim schemaType As SchemaType
Dim srcTable As String
Dim returnValue As DataTable()

returnValue = instance.FillSchema(dataSet, schemaType, srcTable)
public DataTable[] FillSchema (
    DataSet dataSet,
    SchemaType schemaType,
    string srcTable
)
public:
array<DataTable^>^ FillSchema (
    DataSet^ dataSet, 
    SchemaType schemaType, 
    String^ srcTable
)
public DataTable[] FillSchema (
    DataSet dataSet, 
    SchemaType schemaType, 
    String srcTable
)
public function FillSchema (
    dataSet : DataSet, 
    schemaType : SchemaType, 
    srcTable : String
) : DataTable[]

パラメータ

dataSet

スキーマ挿入する DataSet

schemaType

スキーマ挿入する方法指定する SchemaType 値の 1 つ

srcTable

テーブル マップ使用するソース テーブルの名前。

戻り値
DataSet追加されDataTable オブジェクトコレクションへの参照

例外例外
例外種類条件

ArgumentException

スキーマ取得元のソース テーブルが見つかりませんでした

解説解説

このメソッドは、SelectCommand を使用してデータ ソースからスキーマ情報取得します

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

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

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

主キー情報は、Fill実行時に、キー列が一致する行を検索および置換するために使用されます。この動作不要な場合は、スキーマ情報要求せずに Fill使用してください

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

FillSchema メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトDataSet 内に複数含まれる場合に、それらを区別します。この場合FillSchema は、大文字と小文字区別して比較実行し対応するテーブルを見つけます正確に一致するテーブル存在しない場合は、新しく作成します。この動作を表す C# コードの例次に示します

 DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
 dataset.Tables.Add("AAA");
 adapter.FillSchema(dataset, "aaa"); // Fills the schema of "aaa", which already
 exists in the DataSet.
 adapter.FillSchema(dataset, "Aaa"); // Adds a new table called "Aaa".

FillSchema呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTableDataSet 内に 1 つだけ含まれている場合は、その DataTable更新されます。この場合は、比較のときに大文字と小文字区別されません。この動作を表す C# コードの例次に示します

 DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
 adapter.FillSchema(dataset, "AAA"); // Fills the schema of table "aaa" because only
 one similarly named table is in the DataSet.

SELECT コマンド関連付けられた IDbConnection オブジェクトは、有効なのである必要がありますが、開いている必要はありません。FillSchema呼び出す前に IDbConnection閉じていた場合は、接続開かれデータ取得した後で再び閉じられます。FillSchema呼び出す前に接続開いていた場合は、接続開いたままになります

メモメモ

複数結果返すバッチ SQL ステートメント処理する場合.NET Framework OLE DBデータ プロバイダFillSchema実装では、最初結果スキーマ情報だけが取得されます。複数結果スキーマ情報取得するには、MissingSchemaAction を AddWithKey設定して Fill使用します

FillSchema使用する場合.NET Framework SQL Serverデータ プロバイダは、実行するステートメントに FOR BROWSE 句を追加しますSET FMTONLY ON ステートメント使用による干渉などの副作用注意してください詳細については、SQL Server Books Online参照してください

使用例使用例

SqlDataAdapter 派生クラス使用してDataSetスキーマ格納しDataSet返す例を次に示します

Private Function GetCustomerData(ByVal
 dataSetName As String, _
    ByVal connectionString As String)
 As DataSet

    Dim dataSet As DataSet = New
 DataSet(dataSetName)

    Using connection As SqlConnection = New
 SqlConnection(connectionString)

        Dim adapter As SqlDataAdapter = New
 SqlDataAdapter( _
           "SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers",
 _
           connection)

        Dim mapping As DataTableMapping = adapter.TableMappings.Add(
 _
           "Table", "Customers")
        mapping.ColumnMappings.Add("CompanyName",
 "Name")
        mapping.ColumnMappings.Add("ContactName",
 "Contact")

        connection.Open()

        adapter.FillSchema(dataSet, SchemaType.Source, "Customers")
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function
public static DataSet GetCustomerData(string
 dataSetName,
    string connectionString)
{
    DataSet dataSet = new DataSet(dataSetName);

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter(
            "SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers",
 connection);

        DataTableMapping mapping = adapter.TableMappings.Add("Table", "Customers");
        mapping.ColumnMappings.Add("CompanyName", "Name");
        mapping.ColumnMappings.Add("ContactName", "Contact");

        connection.Open();

        adapter.FillSchema(dataSet, SchemaType.Source, "Customers");
        adapter.Fill(dataSet);

        return dataSet;
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DbDataAdapter クラス
DbDataAdapter メンバ
System.Data.Common 名前空間

DbDataAdapter.FillSchema メソッド (DataTable, SchemaType)

指定した SchemaType に基いて、指定した DataTableスキーマ設定します

名前空間: System.Data.Common
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Function FillSchema ( _
    dataTable As DataTable, _
    schemaType As SchemaType _
) As DataTable
Dim instance As DbDataAdapter
Dim dataTable As DataTable
Dim schemaType As SchemaType
Dim returnValue As DataTable

returnValue = instance.FillSchema(dataTable, schemaType)
public DataTable FillSchema (
    DataTable dataTable,
    SchemaType schemaType
)
public:
DataTable^ FillSchema (
    DataTable^ dataTable, 
    SchemaType schemaType
)
public DataTable FillSchema (
    DataTable dataTable, 
    SchemaType schemaType
)
public function FillSchema (
    dataTable : DataTable, 
    schemaType : SchemaType
) : DataTable

パラメータ

dataTable

データ ソースから返されスキーマ格納するための DataTable。

schemaType

SchemaType 値の 1 つ

戻り値
データ ソースから返されスキーマ情報格納されDataTable

解説解説

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

FillSchema は、DataTable返します次にDataTable の DataColumnCollection に列を追加しますデータ ソース次の DataColumn プロパティ存在する場合は、それを設定します

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

主キーおよび UNIQUE 制約上記規則に従って ConstraintCollection追加されますが、その他の種類制約追加されないことに注意してください。この処理では、サーバー対す複数ラウンドトリップ必要になる場合あります

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

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

メモメモ

複数結果返すバッチ SQL ステートメント処理する場合.NET Framework OLE DBデータ プロバイダFillSchema実装では、最初結果スキーマ情報だけが取得されます。複数結果スキーマ情報取得するには、MissingSchemaAction を AddWithKey設定して Fill使用します

FillSchema使用する場合.NET Framework SQL Serverデータ プロバイダは、実行するステートメントに FOR BROWSE 句を追加しますSET FMTONLY ON ステートメント使用による干渉などの副作用注意してください詳細については、SQL Server Books Online参照してください

使用例使用例

SqlDataAdapter 派生クラス使用してDataSetスキーマ格納しDataTable返す例を次に示します

Private Function GetCustomerData(ByVal
 dataTableName As String, _
    ByVal connectionString As String)
 As DataTable

    Dim table As DataTable = New
 DataTable(dataTableName)

    Using connection As SqlConnection = New
 SqlConnection(connectionString)

        Dim adapter As SqlDataAdapter = New
 SqlDataAdapter( _
           "SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers",
 _
           connection)

        Dim mapping As DataTableMapping = adapter.TableMappings.Add(
 _
           "Table", "Customers")
        mapping.ColumnMappings.Add("CompanyName",
 "Name")
        mapping.ColumnMappings.Add("ContactName",
 "Contact")

        connection.Open()

        adapter.FillSchema(table, SchemaType.Mapped)
        adapter.Fill(table)
        Return table
    End Using
End Function
public static DataTable GetCustomerData(string
 dataSetName,
    string connectionString)
{
    DataTable table = new DataTable(dataSetName);

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter(
            "SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers",
 connection);

        DataTableMapping mapping = adapter.TableMappings.Add("Table", "Customers");
        mapping.ColumnMappings.Add("CompanyName", "Name");
        mapping.ColumnMappings.Add("ContactName", "Contact");

        connection.Open();

        adapter.FillSchema(table, SchemaType.Mapped);
        adapter.Fill(table);
        return table;
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DbDataAdapter クラス
DbDataAdapter メンバ
System.Data.Common 名前空間
Fill

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

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

名前空間: System.Data.Common
アセンブリ: System.Data (system.data.dll 内)
構文構文

解説解説

このメソッドは、SelectCommand を使用してデータ ソースからスキーマ情報取得します

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

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

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

主キー情報は、Fill実行時に、キー列が一致する行を検索および置換するために使用されます。この動作不要な場合は、スキーマ情報要求せずに Fill使用してください

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

SELECT コマンド関連付けられた IDbConnection オブジェクトは、有効なのである必要がありますが、開いている必要はありません。FillSchema呼び出す前に IDbConnection閉じていた場合は、接続開かれデータ取得した後で再び閉じられます。FillSchema呼び出す前に接続開いていた場合は、接続開いたままになります

メモメモ

複数結果返すバッチ SQL ステートメント処理する場合.NET Framework OLE DBデータ プロバイダFillSchema実装では、最初結果スキーマ情報だけが取得されます。複数結果スキーマ情報取得するには、MissingSchemaAction を AddWithKey設定して Fill使用します

FillSchema使用する場合.NET Framework SQL Serverデータ プロバイダは、実行するステートメントに FOR BROWSE 句を追加しますSET FMTONLY ON ステートメント使用による干渉などの副作用注意してください詳細については、SQL Server Books Online参照してください

使用例使用例

SqlDataAdapter 派生クラス使用してDataSetスキーマ格納しDataSet返す例を次に示します

Private Function GetCustomerData(ByVal
 dataSetName As String, _
    ByVal connectionString As String)
 As DataSet

    Dim dataSet As DataSet = New
 DataSet(dataSetName)

    Using connection As SqlConnection = New
 SqlConnection(connectionString)
        Dim adapter As SqlDataAdapter = New
 SqlDataAdapter( _
           "SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers",
 _
           connection)

        Dim mapping As DataTableMapping = adapter.TableMappings.Add(
 _
           "Table", "Customers")
        mapping.ColumnMappings.Add("CompanyName",
 "Name")
        mapping.ColumnMappings.Add("ContactName",
 "Contact")

        connection.Open()

        adapter.FillSchema(dataSet, SchemaType.Mapped)
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function
public static DataSet GetCustomerData(string
 dataSetName,
    string connectionString)
{
    DataSet dataSet = new DataSet(dataSetName);

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter(
            "SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers",
 connection);

        DataTableMapping mapping = adapter.TableMappings.Add("Table", "Customers");
        mapping.ColumnMappings.Add("CompanyName", "Name");
        mapping.ColumnMappings.Add("ContactName", "Contact");

        connection.Open();

        adapter.FillSchema(dataSet, SchemaType.Mapped);
        adapter.Fill(dataSet);

        return dataSet;
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DbDataAdapter クラス
DbDataAdapter メンバ
System.Data.Common 名前空間

DbDataAdapter.FillSchema メソッド

DataTable を DataSet追加しデータ ソース内のスキーマ一致するようにスキーマ設定します
オーバーロードの一覧オーバーロードの一覧

名前 説明
DbDataAdapter.FillSchema (DataSet, SchemaType) 指定されDataSetTable という名前の DataTable追加し指定されSchemaType基づいてデータ ソース内のスキーマ一致するようにスキーマ設定します

.NET Compact Framework によってサポートされています。

DbDataAdapter.FillSchema (DataTable, SchemaType) 指定した SchemaType に基いて、指定した DataTableスキーマ設定します

.NET Compact Framework によってサポートされています。

DbDataAdapter.FillSchema (DataSet, SchemaType, String) 指定した DataSetDataTable追加し指定した SchemaType および DataTable基づいてデータ ソース内のスキーマ一致するようにスキーマ設定します

.NET Compact Framework によってサポートされています。

DbDataAdapter.FillSchema (DataTable, SchemaType, IDataReader) DataTable指定した DataSet追加します
DbDataAdapter.FillSchema (DataSet, SchemaType, String, IDataReader) DataTable指定した DataSet追加します
DbDataAdapter.FillSchema (DataTable, SchemaType, IDbCommand, CommandBehavior) 指定した SchemaTypeコマンド文字列、および CommandBehavior 値に基づいて指定した DataTableスキーマ設定します

.NET Compact Framework によってサポートされています。

DbDataAdapter.FillSchema (DataSet, SchemaType, IDbCommand, String, CommandBehavior) 指定した DataSetDataTable追加し指定した SchemaType基づいてデータ ソース内のスキーマ一致するようにスキーマ設定します

.NET Compact Framework によってサポートされています。

参照参照

関連項目

DbDataAdapter クラス
DbDataAdapter メンバ
System.Data.Common 名前空間

DbDataAdapter.FillSchema メソッド (DataSet, SchemaType, IDbCommand, String, CommandBehavior)

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

名前空間: System.Data.Common
アセンブリ: System.Data (system.data.dll 内)
構文構文

Protected Overridable Function
 FillSchema ( _
    dataSet As DataSet, _
    schemaType As SchemaType, _
    command As IDbCommand, _
    srcTable As String, _
    behavior As CommandBehavior _
) As DataTable()
Dim dataSet As DataSet
Dim schemaType As SchemaType
Dim command As IDbCommand
Dim srcTable As String
Dim behavior As CommandBehavior
Dim returnValue As DataTable()

returnValue = Me.FillSchema(dataSet, schemaType, command, srcTable,
 behavior)
protected virtual DataTable[] FillSchema (
    DataSet dataSet,
    SchemaType schemaType,
    IDbCommand command,
    string srcTable,
    CommandBehavior behavior
)
protected:
virtual array<DataTable^>^ FillSchema (
    DataSet^ dataSet, 
    SchemaType schemaType, 
    IDbCommand^ command, 
    String^ srcTable, 
    CommandBehavior behavior
)
protected DataTable[] FillSchema (
    DataSet dataSet, 
    SchemaType schemaType, 
    IDbCommand command, 
    String srcTable, 
    CommandBehavior behavior
)
protected function FillSchema (
    dataSet : DataSet, 
    schemaType : SchemaType, 
    command : IDbCommand, 
    srcTable : String, 
    behavior : CommandBehavior
) : DataTable[]

パラメータ

dataSet

データ ソースから返されスキーマ格納するための DataSet

schemaType

SchemaType 値の 1 つ

command

データ ソースら行取得するために使用する SQL SELECT ステートメント

srcTable

テーブル マップ使用するソース テーブルの名前。

behavior

CommandBehavior 値の 1 つ

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

解説解説

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

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

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

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

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

FillSchema メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトDataSet 内に複数含まれる場合に、それらを区別します。この場合FillSchema は、大文字と小文字区別して比較実行し対応するテーブルを見つけます正確に一致するテーブル存在しない場合は、新しく作成します。この動作を表す C# コードの例次に示します

 DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
 dataset.Tables.Add("AAA");
 adapter.FillSchema(dataset, "aaa"); // Fills the schema of "aaa", which already
 exists in the DataSet.
 adapter.FillSchema(dataset, "Aaa"); // Adds a new table called "Aaa".

FillSchema呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTableDataSet 内に 1 つだけ含まれている場合は、その DataTable更新されます。この場合は、比較のときに大文字と小文字区別されません。この動作を表す C# コードの例次に示します

 DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
 adapter.FillSchema(dataset, "AAA"); // Fills the schema of table "aaa" because only
 one similarly named table is in the DataSet.

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

メモメモ

複数結果返すバッチ SQL ステートメント処理する場合.NET Framework OLE DBデータ プロバイダFillSchema実装では、最初結果スキーマ情報だけが取得されます。複数結果スキーマ情報取得するには、MissingSchemaAction を AddWithKey設定して Fill使用します

FillSchema使用する場合.NET Framework SQL Serverデータ プロバイダは、実行するステートメントに FOR BROWSE 句を追加しますSET FMTONLY ON ステートメント使用による干渉などの副作用注意してください詳細については、SQL Server Books Online参照してください

実装時の注意 FillSchema メソッドのこの実装プロテクトされており、.NET Framework データ プロバイダでの使用想定してます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DbDataAdapter クラス
DbDataAdapter メンバ
System.Data.Common 名前空間
Fill


このページでは「.NET Framework クラス ライブラリ リファレンス」からDbDataAdapter.FillSchemaを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDbDataAdapter.FillSchemaを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDbDataAdapter.FillSchema を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DbDataAdapter.FillSchema」の関連用語

DbDataAdapter.FillSchemaのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DbDataAdapter.FillSchemaのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS