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ソースのDataTableDataSetを使用してのに fill を行うときに、内の列の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. Fill操作DataAdapterGetのメソッドの両方について、.NETFramework型は.NETFrameworkデータプロバイダーから返された値から推論されます。DataReaderFor 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