ADO.NET でのデータ型のマッピング
.NET Framework は共通型システムを基にしています。このシステムは実行時の型の宣言、使用、および管理方法を定義するものです。 値型と参照型の両方から構成されており、これらはすべて Object 基本型から派生します。 データ ソースを操作するときは、データ型が明示的に指定されていない場合はデータ プロバイダーから推論されます。 たとえば、DataSet オブジェクトは、特定のデータ ソースには依存しません。 DataSet
内のデータはデータ ソースから取得され、変更は DataAdapter
によってデータ ソースに反映されます。 つまり、DataAdapter
によって DataSet
内の DataTable に、データ ソースからの値が格納されると、DataTable
内の列の結果のデータ型は、データ ソースへの接続に使用された .NET Framework データ プロバイダーに固有の型ではなく、.NET Framework の型になります。
同様に、DataReader
によってデータ ソースから値が返されるとき、結果の値は .NET Framework 型のローカル変数に格納されます。 DataAdapter
の Fill
操作と DataReader
の Get
メソッドのどちらの場合も、.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 のデータ アクセサー メソッドを一覧で示します。
浮動小数点数
開発者が浮動小数点数を扱う際の発生頻度の高い問題について説明します。