Compartir a través de


Asignar tipos de datos de SQL Server (ADO.NET)

Actualización: November 2007

SQL Server y .NET Framework se basan en sistemas de tipos distintos. Por ejemplo, la estructura Decimal de .NET Framework tiene una escala máxima de 28, mientras que los tipos de datos decimal y numérico de SQL Server tienen una escala máxima de 38. Para mantener la integridad de los datos al leer y escribir datos, SqlDataReader expone métodos de descriptores de acceso con tipo específicos de SQL Server que devuelven objetos de System.Data.SqlTypes así como métodos de descriptores de acceso que devuelven tipos de .NET Framework. Los tipos de SQL Server y los de .NET Framework se representan también mediante enumeraciones en las clases DbType y SqlDbType, que puede usar al especificar los tipos de datos SqlParameter.

En la tabla siguiente se muestra el tipo de .NET Framework deducido, las enumeraciones DbType y SqlDbType y los métodos de descriptor de acceso de SqlDataReader.

Tipo de motor de base de datos de SQL Server

.Tipo de .NET Framework

Enumeración SqlDbType

Descriptor de acceso con tipo SqlDataReader SqlTypes

Enumeración DbType

Descriptor de acceso con tipo SqlDataReader DbType

bigint

Int64

BigInt

GetSqlInt64

Int64

GetInt64

binary

Byte[]

VarBinary

GetSqlBinary

Binary

GetBytes

bit

Boolean

Bit

GetSqlBoolean

Boolean

GetBoolean

char

String

Char[]

Char

GetSqlString

AnsiStringFixedLength,

String

GetString

GetChars

date

(solo SQL Server 2008)

DateTime

Date

GetSqlDateTime

Date

GetDateTime

datetime

DateTime

DateTime

GetSqlDateTime

DateTime

GetDateTime

datetime2

(solo SQL Server 2008)

DateTime2

DateTime2

GetSqlDateTime

DateTime2

GetDateTime

datetimeoffset

(solo SQL Server 2008)

DateTimeOffset

DateTimeOffset

ninguno

DateTimeOffset

GetDateTimeOffset

decimal

Decimal

Decimal

GetSqlDecimal

Decimal

GetDecimal

Atributo FILESTREAM (varbinary(max))

Byte[]

VarBinary

GetSqlBytes

Binary

GetBytes

float

Double

Float

GetSqlDouble

Double

GetDouble

image

Byte[]

Binary

GetSqlBinary

Binary

GetBytes

int

Int32

Int

GetSqlInt32

Int32

GetInt32

money

Decimal

Money

GetSqlMoney

Decimal

GetDecimal

nchar

String

Char[]

NChar

GetSqlString

StringFixedLength

GetString

GetChars

ntext

String

Char[]

NText

GetSqlString

String

GetString

GetChars

numeric

Decimal

Decimal

GetSqlDecimal

Decimal

GetDecimal

nvarchar

String

Char[]

NVarChar

GetSqlString

String

GetString

GetChars

real

Single

Real

GetSqlSingle

Single

GetFloat

rowversion

Byte[]

Timestamp

GetSqlBinary

Binary

GetBytes

smalldatetime

DateTime

DateTime

GetSqlDateTime

DateTime

GetDateTime

smallint

Int16

SmallInt

GetSqlInt16

Int16

GetInt16

smallmoney

Decimal

SmallMoney

GetSqlDecimal

Decimal

GetDecimal

sql_variant

Object *

Variant

GetSqlValue *

Object

GetValue *

text

String

Char[]

Text

GetSqlString

String

GetString

GetChars

time

(solo SQL Server 2008)

TimeSpan

Time

ninguno

Time

GetDateTime

timestamp

Byte[]

Timestamp

GetSqlBinary

Binary

GetBytes

tinyint

Byte

TinyInt

GetSqlByte

Byte

GetByte

uniqueidentifier

Guid

UniqueIdentifier

GetSqlGuid

Guid

GetGuid

varbinary

Byte[]

VarBinary

GetSqlBinary

Binary

GetBytes

varchar

String

Char[]

VarChar

GetSqlString

AnsiString, String

GetString

GetChars

xml

Xml

Xml

GetSqlXml

Xml

ninguno

* Utilice un descriptor de acceso con tipo si conoce el tipo subyacente de sql_variant.

Referencia de Libros en pantalla de SQL Server

Para obtener más información acerca de los tipos de datos de SQL Server, busque la versión de SQL Server que utiliza en los Libros en pantalla de SQL Server.

SQL Server 2000

SQL Server 2005

SQL Server 2008

Tipos de datos

Tipos de datos (motor de base de datos)

Tipos de datos (motor de base de datos)

Vea también

Conceptos

Configurar parámetros y tipos de datos de parámetros (ADO.NET)

Otros recursos

Tipos de datos de SQL Server y ADO.NET

Datos binarios y de valores grandes de SQL Server (ADO.NET)

Asignar tipos de datos en ADO.NET