ADO.NET でのデータ型のマッピングData Type Mappings in ADO.NET

.NET Framework は共通型システムを基にしています。このシステムは実行時の型の宣言、使用、および管理方法を定義するものです。The .NET Framework is based on the common type system, which defines how types are declared, used, and managed in the runtime. 値型と参照型の両方から構成されており、これらはすべて Object 基本型から派生します。It consists of both value types and reference types, which all derive from the Object base type. データ ソースを操作するときは、データ型が明示的に指定されていない場合はデータ プロバイダーから推論されます。When working with a data source, the data type is inferred from the data provider if it is not explicitly specified. たとえば、DataSet オブジェクトは、特定のデータ ソースには依存しません。For example, a DataSet object is independent of any specific data source. DataSet 内のデータはデータ ソースから取得され、変更は DataAdapter によってデータ ソースに反映されます。Data in a DataSet is retrieved from a data source, and changes are persisted back to the data source by using a DataAdapter. つまり、DataAdapter によって DataSet 内の DataTable に、データ ソースからの値が格納されると、DataTable 内の列の結果のデータ型は、データ ソースへの接続に使用された .NET Framework データ プロバイダーに固有の型ではなく、.NET Framework の型になります。This means that when a DataAdapter fills a DataTable in a DataSet with values from a data source, the resulting data types of the columns in the DataTable are .NET Framework types, instead of types specific to the .NET Framework data provider that is used to connect to the data source.

同様に、DataReader によってデータ ソースから値が返されるとき、結果の値は .NET Framework 型のローカル変数に格納されます。Likewise, when a DataReader returns a value from a data source, the resulting value is stored in a local variable that has a .NET Framework type. DataAdapterFill 操作と DataReaderGet メソッドのどちらの場合も、.NET Framework の型は .NET Framework データ プロバイダーから返された値から推論されます。For both the Fill operations of the DataAdapter and the Get methods of the DataReader, the .NET Framework type is inferred from the value returned from the .NET Framework data provider.

返される値の型がわかっている場合は、推論されるデータ型を使用するのではなく、DataReader の型指定されたアクセサー メソッドを使用できます。Instead of relying on the inferred data type, you can use the typed accessor methods of the DataReader when you know the specific type of the value being returned. 型指定されたアクセサー メソッドを使用して .NET Framework の特定の型として値を返すと、追加の型変換が不要になるため、パフォーマンスが向上します。Typed accessor methods give you better performance by returning a value as a specific .NET Framework type, which eliminates the need for additional type conversion.

注意

.NET Framework データ プロバイダーのデータ型の null 値は、DBNull.Value で表されます。Null values for .NET Framework data provider data types are represented by DBNull.Value.

このセクションの内容In This Section

SQL Server データ型のマッピングSQL Server Data Type Mappings
推論されたデータ型マッピングおよび System.Data.SqlClient のデータ アクセサー メソッドを一覧で示します。Lists inferred data type mappings and data accessor methods for System.Data.SqlClient.

OLE DB データ型のマッピングOLE DB Data Type Mappings
推論されたデータ型マッピングおよび System.Data.OleDb のデータ アクセサー メソッドを一覧で示します。Lists inferred data type mappings and data accessor methods for System.Data.OleDb.

ODBC データ型のマッピングODBC Data Type Mappings
推論されたデータ型マッピングおよび System.Data.Odbc のデータ アクセサー メソッドを一覧で示します。Lists inferred data type mappings and data accessor methods for System.Data.Odbc.

Oracle データ型のマッピングOracle Data Type Mappings
推論されたデータ型マッピングおよび System.Data.OracleClient のデータ アクセサー メソッドを一覧で示します。Lists inferred data type mappings and data accessor methods for System.Data.OracleClient.

浮動小数点数Floating-Point Numbers
開発者が浮動小数点数を扱う際の発生頻度の高い問題について説明します。Describes issues that developers frequently encounter when working with floating-point numbers.

関連項目See also