Mapping dei tipi di dati SQL Server (ADO.NET)
SQL Server e .NET Framework sono basati su sistemi di tipi diversi. La struttura Decimal .NET Framework dispone ad esempio di una scala massima di 28, mentre i tipi di dati decimali e numerici di SQL Server dispongono di una scala massima di 38. Per mantenere l'integrità dei dati in caso di lettura e scrittura dei dati, SqlDataReader espone metodi delle funzioni di accesso tipizzate specifici di SQL Server che restituiscono oggetti di System.Data.SqlTypes, nonché metodi delle funzioni di accesso che restituiscono tipi .NET Framework. Sia i tipi SQL Server che i tipi .NET Framework sono rappresentati anche dalle enumerazioni nelle classi DbType e SqlDbType, che è possibile utilizzare quando si specificano tipi di dati SqlParameter.
Nella tabella seguente sono illustrati il tipo .NET Framework dedotto, le enumerazioni DbType e SqlDbType e i metodi delle funzioni di accesso per SqlDataReader.
Tipo del Motore di database di SQL Server |
Tipo .NET Framework |
Enumerazione SqlDbType |
Funzione di accesso tipizzata SqlTypes SqlDataReader |
Enumerazione DbType |
Funzione di accesso tipizzata DbType SqlDataReader |
---|---|---|---|---|---|
bigint |
Int64 |
||||
binary |
Byte[] |
||||
bit |
Boolean |
||||
char |
String Char[] |
||||
date (solo SQL Server 2008) |
DateTime |
||||
datetime |
DateTime |
||||
datetime2 (solo SQL Server 2008) |
DateTime2 |
||||
datetimeoffset (solo SQL Server 2008) |
DateTimeOffset |
none |
|||
decimal |
Decimal |
||||
Attributo FILESTREAM (varbinary(max) |
Byte[] |
||||
float |
Double |
||||
image |
Byte[] |
||||
int |
Int32 |
||||
money |
Decimal |
||||
nchar |
String Char[] |
||||
ntext |
String Char[] |
||||
numeric |
Decimal |
||||
nvarchar |
String Char[] |
||||
real |
Single |
||||
rowversion |
Byte[] |
||||
smalldatetime |
DateTime |
||||
smallint |
Int16 |
||||
smallmoney |
Decimal |
||||
sql_variant |
Object * |
GetValue * |
|||
text |
String Char[] |
||||
time (solo SQL Server 2008) |
TimeSpan |
none |
|||
timestamp |
Byte[] |
||||
tinyint |
Byte |
||||
uniqueidentifier |
Guid |
||||
varbinary |
Byte[] |
||||
varchar |
String Char[] |
||||
xml |
Xml |
none |
* Utilizzare una funzione di accesso tipizzata specifica se è noto il tipo sottostante di sql_variant.
Riferimenti alla documentazione online di SQL Server
Per ulteriori informazioni sui tipi di dati di SQL Server, vedere la documentazione online di SQL Server corrispondente alla versione di SQL Server in uso.
SQL Server 2000 |
SQL Server 2005 |
SQL Server 2008 |
---|---|---|
Vedere anche
Concetti
Configurazione di parametri e di tipi di dati dei parametri (ADO.NET)
Altre risorse
Tipi di dati SQL Server e ADO.NET
Dati binari e con valori di grandi dimensioni SQL Server (ADO.NET)