Mappage des types de données du fournisseur de données aux types de données .NET Framework

Guide du développeur .NET Framework 
Mappage des types de données du fournisseur de données aux types de données .NET Framework 

L'objet DataSet ADO.NET est indépendant de toute source de données spécifique. Les données d'un DataSet sont extraites d'une source de données et les modifications y sont répercutées à l'aide d'un DataAdapter. Autrement dit, lorsqu'un DataAdapter remplit un objet DataTable dans un DataSet avec des valeurs provenant d'une source de données, les types de données des colonnes du DataTable qui en résultent sont des types .NET Framework et non des types spécifiques au fournisseur de données .NET Framework utilisé pour se connecter à la source de données.

De même, lorsqu'un DataReader retourne une valeur d'une source de données, la valeur qui en résulte est stockée dans une variable locale qui a un type .NET Framework.

Pour les opérations Fill du DataAdapter et les méthodes Get du DataReader, le type .NET Framework est inféré du type retourné du fournisseur de données .NET Framework. Il est recommandé d'utiliser les méthodes d'accesseurs typées du DataReader lorsque vous connaissez le type spécifique de la valeur retournée. Ces méthodes sont plus performantes car elles retournent une valeur comme type .NET Framework spécifique, éliminant ainsi la nécessité d'une conversion de types supplémentaire. L'objet SqlDataReader expose des méthodes d'accesseurs typées spécifiques à SQL Server si un type .NET Framework ne répond pas aux besoins de l'application. Ces méthodes retournent des objets de System.Data.SqlTypes.

NoteRemarque

Une prise en charge de type amélioré a été ajoutée dans ADO.NET 2.0 pour System.Data.SqlTypes. Pour plus d'informations, voir Utilisation de SqlTypes.

Les tableaux suivants illustrent le type .NET Framework inféré pour les types de données de Microsoft SQL Server, OLE DB et ODBC. Les méthodes d'accesseurs typées pour le DataReader sont également répertoriées.

NoteRemarque

Les valeurs null des types de données du fournisseur de données .NET Framework sont représentées par DBNull.Value.

Fournisseur de données .NET Framework pour SQL Server

 
Type SQL Server Type .NET Framework Accesseur typé .NET Framework Accesseur typé SqlType

bigint

Int64

GetInt64()

GetSqlInt64()

binary

Byte[]

GetBytes()

GetSqlBinary()

bit

Booléen

GetBoolean()

GetSqlBoolean()

Char

String

Char[]

GetString()

GetChars()

GetSqlString()

datetime

DateTime

GetDateTime()

GetSqlDateTime()

decimal

Decimal

GetDecimal()

GetSqlDecimal()

float

Double

GetDouble()

GetSqlDouble()

image

Byte[]

GetBytes()

GetSqlBinary()

int

Int32

GetInt32()

GetSqlInt32()

money

Decimal

GetDecimal()

GetSqlMoney()

nchar

String

Char[]

GetString()

GetChars()

GetSqlString()

ntext

String

Char[]

GetString()

GetChars()

GetSqlString()

numeric

Decimal

GetDecimal()

GetSqlDecimal()

nvarchar

String

Char[]

GetString()

GetChars()

GetSqlString()

real

Single

GetFloat()

GetSqlSingle()

smalldatetime

DateTime

GetDateTime()

GetSqlDateTime()

smallint

Int16

GetInt16()

GetSqlInt16()

smallmoney

Decimal

GetDecimal()

GetSqlDecimal()

sql_variant

Object*

GetValue() *

GetSqlValue() *

text

String

Char[]

GetString()

GetChars()

GetSqlString()

timestamp

Byte[]

GetBytes()

GetSqlBinary()

tinyint

Byte

GetByte()

GetSqlByte()

uniqueidentifier

Guid

GetGuid()

GetSqlGuid()

varbinary

Byte[]

GetBytes()

GetSqlBinary()

varchar

String

Char[]

GetString()

GetChars()

GetSqlString()

xml

Xml

GetXml

GetSqlXml()

* Il est recommandé d'utiliser un accesseur typé spécifique si vous connaissez le type sous-jacent de sql_variant.

Fournisseur de données .NET Framework pour OLE DB

 
Type ADO Type OLE DB Type .NET Framework Accesseur typé .NET Framework

adBigInt

DBTYPE_I8

Int64

GetInt64()

adBinary

DBTYPE_BYTES

Byte[]

GetBytes()

adBoolean

DBTYPE_BOOL

Boolean

GetBoolean()

adBSTR

DBTYPE_BSTR

String

GetString()

adChapter

DBTYPE_HCHAPTER

Pris en charge dans le DataReader. Voir Extraction de données à l'aide d'un DataReader.

GetValue()

adChar

DBTYPE_STR

String

GetString()

adCurrency

DBTYPE_CY

Decimal

GetDecimal()

adDate

DBTYPE_DATE

DateTime

GetDateTime()

adDBDate

DBTYPE_DBDATE

DateTime

GetDateTime()

adDBTime

DBTYPE_DBTIME

DateTime

GetDateTime()

adDBTimeStamp

DBTYPE_DBTIMESTAMP

DateTime

GetDateTime()

adDecimal

DBTYPE_DECIMAL

Decimal

GetDecimal()

adDouble

DBTYPE_R8

Double

GetDouble()

adError

DBTYPE_ERROR

ExternalException

GetValue()

adFileTime

DBTYPE_FILETIME

DateTime

GetDateTime()

adGUID

DBTYPE_GUID

Guid

GetGuid()

adIDispatch

DBTYPE_IDISPATCH *

Object

GetValue()

adInteger

DBTYPE_I4

Int32

GetInt32()

adIUnknown

DBTYPE_IUNKNOWN *

Object

GetValue()

adNumeric

DBTYPE_NUMERIC

Decimal

GetDecimal()

adPropVariant

DBTYPE_PROPVARIANT

Object

GetValue()

adSingle

DBTYPE_R4

Single

GetFloat()

adSmallInt

DBTYPE_I2

Int16

GetInt16()

adTinyInt

DBTYPE_I1

Byte

GetByte()

adUnsignedBigInt

DBTYPE_UI8

UInt64

GetValue()

adUnsignedInt

DBTYPE_UI4

UInt32

GetValue()

adUnsignedSmallInt

DBTYPE_UI2

UInt16

GetValue()

adUnsignedTinyInt

DBTYPE_UI1

Byte

GetByte()

adVariant

DBTYPE_VARIANT

Object

GetValue()

adWChar

DBTYPE_WSTR

String

GetString()

adUserDefined

DBTYPE_UDT

non pris en charge

   

adVarNumeric

DBTYPE_VARNUMERIC

non pris en charge

   

  • * Pour les types OLE DB DBTYPE_IUNKNOWN et DBTYPE_IDISPATCH, la référence d'objet est une représentation marshalée du pointeur.

Fournisseur de données .NET Framework pour ODBC

 
Type ODBC Type .NET Framework Accesseur typé .NET Framework

SQL_BIGINT

Int64

GetInt64()

SQL_BINARY

Byte[]

GetBytes()

SQL_BIT

Boolean

GetBoolean()

SQL_CHAR

String

Char[]

GetString()

GetChars()

SQL_DECIMAL

Decimal

GetDecimal()

SQL_DOUBLE

Double

GetDouble()

SQL_GUID

Guid

GetGuid()

SQL_INTEGER

Int32

GetInt32()

SQL_LONG_VARCHAR

String

Char[]

GetString()

GetChars()

SQL_LONGVARBINARY

Byte[]

GetBytes()

SQL_NUMERIC

Decimal

GetDecimal()

SQL_REAL

Single

GetFloat()

SQL_SMALLINT

Int16

GetInt16()

SQL_TINYINT

Byte

GetByte()

SQL_TYPE_TIMES

DateTime

GetDateTime()

SQL_TYPE_TIMESTAMP

DateTime

GetDateTime()

SQL_VARBINARY

Byte[]

GetBytes()

SQL_WCHAR

String

Char[]

GetString()

GetChars()

SQL_WLONGVARCHAR

String

Char[]

GetString()

GetChars()

SQL_WVARCHAR

String

Char[]

GetString()

GetChars()

Fournisseur de données .NET Framework pour Oracle

 
Type Oracle Type .NET Framework Accesseur typé .NET Framework Accesseur typé OracleType

BFILE

Byte[]

GetBytes()

GetOracleBFile()

BLOB

Byte[]

GetBytes()

GetOracleLob()

CHAR

String

Char[]

GetString()

GetChars()

GetOracleString()

CLOB

String

Char[]

GetString()

GetChars()

GetOracleLob()

DATE

DateTime

GetDateTime()

GetOracleDateTime()

FLOAT

Decimal

GetDecimal()

GetOracleNumber() **

INTEGER

Decimal

GetDecimal()

GetOracleNumber() **

INTERVAL YEAR TO MONTH *

Int32

GetInt32()

GetOracleMonthSpan()

INTERVAL DAY TO SECOND *

Timespan

GetTimeSpan()

GetOracleTimeSpan()

LONG

String

Char[]

GetString()

GetChars()

GetOracleString()

LONG RAW

Byte[]

GetBytes()

GetOracleBinary()

NCHAR

String

Char[]

GetString()

GetChars()

GetOracleString()

NCLOB

String

Char[]

GetString()

GetChars()

GetOracleLob()

NUMBER

Decimal

GetDecimal()

GetOracleNumber() **

NVARCHAR2

String

Char[]

GetString()

GetChars()

GetOracleString()

RAW

Byte[]

GetBytes()

GetOracleBinary()

REF CURSOR

 

 

 

ROWID

String

Char[]

GetString()

GetChars()

GetOracleString()

TIMESTAMP *

DateTime

GetDateTime()

GetOracleDateTime()

TIMESTAMP WITH LOCAL TIME ZONE *

DateTime

GetDateTime()

GetOracleDateTime()

TIMESTAMP WITH TIME ZONE *

DateTime

GetDateTime()

GetOracleDateTime()

UNSIGNED INTEGER

Decimal

GetDecimal()

GetOracleNumber() **

VARCHAR2

String

Char[]

GetString()

GetChars()

GetOracleString()

* Le type Oracle spécifié est uniquement disponible lors de l'utilisation combinée du client Oracle 9i et du logiciel serveur.

** Un type NUMBER Oracle peut avoir un nombre maximal de 38 chiffres significatifs. Le type decimal .NET Framework est limité à 28 chiffres. La lecture d'un type NUMBER Oracle dans un type decimal .NET Framework se traduit par une exception OverflowException pour les valeurs NUMBER dépassant 28 chiffres. Si vous lisez une valeur NUMBER Oracle à partir de OracleDataReader, il est recommandé d'appeler la méthode d'accesseur typée GetOracleNumber pour retourner les valeurs NUMBER Oracle en tant que OracleNumber. Si vous remplissez un DataSet, vous pouvez utiliser l'événement FillError pour déterminer si une exception OverflowException s'est produite et effectuer l'action adéquate. Pour plus d'informations sur l'événement FillError, voir Utilisation des événements du DataAdapter.

Voir aussi


Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/4e5xt97a.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

8 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4733
Document créé le 30/10/06 00:55, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-4e5xt97a.html Document affiché 6 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,47 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
La sagesse, c'est d'avoir des rêves suffisamment grands pour ne pas les perdre de vue lorsqu'on les poursuit.

Oscar Wilde
 
l'infobrol
Nous sommes le Jeudi 31 Mai 2012, 00:39, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)