ADO.NET でのデータ型のマッピング

.NET Framework は共通型システムを基にしています。このシステムは実行時の型の宣言、使用、および管理方法を定義するものです。 値型と参照型の両方から構成されており、これらはすべて Object 基本型から派生します。 データ ソースを操作するときは、データ型が明示的に指定されていない場合はデータ プロバイダーから推論されます。 たとえば、DataSet オブジェクトは、特定のデータ ソースには依存しません。 DataSet 内のデータはデータ ソースから取得され、変更は DataAdapter によってデータ ソースに反映されます。 つまり、DataAdapter によって DataSet 内の DataTable に、データ ソースからの値が格納されると、DataTable 内の列の結果のデータ型は、データ ソースへの接続に使用された .NET Framework データ プロバイダーに固有の型ではなく、.NET Framework の型になります。

同様に、DataReader によってデータ ソースから値が返されるとき、結果の値は .NET Framework 型のローカル変数に格納されます。 DataAdapterFill 操作と DataReaderGet メソッドのどちらの場合も、.NET Framework の型は .NET Framework データ プロバイダーから返された値から推論されます。

返される値の型がわかっている場合は、推論されるデータ型を使用するのではなく、DataReader の型指定されたアクセサー メソッドを使用できます。 型指定されたアクセサー メソッドを使用して .NET Framework の特定の型として値を返すと、追加の型変換が不要になるため、パフォーマンスが向上します。

Note

.NET Framework データ プロバイダーのデータ型の null 値は、DBNull.Value で表されます。

このセクションの内容

SQL Server データ型のマッピング
推論されたデータ型マッピングおよび System.Data.SqlClient のデータ アクセサー メソッドを一覧で示します。

OLE DB データ型のマッピング
推論されたデータ型マッピングおよび System.Data.OleDb のデータ アクセサー メソッドを一覧で示します。

ODBC データ型のマッピング
推論されたデータ型マッピングおよび System.Data.Odbc のデータ アクセサー メソッドを一覧で示します。

Oracle データ型のマッピング
推論されたデータ型マッピングおよび System.Data.OracleClient のデータ アクセサー メソッドを一覧で示します。

浮動小数点数
開発者が浮動小数点数を扱う際の発生頻度の高い問題について説明します。

関連項目