Сопоставления типов данных SQL Server (ADO.NET)
Обновлен: November 2007
В SQL Server и .NET Framework используются различные системы типов. Например, максимальная разрядность структуры .NET Framework Decimal 28, в то время как максимальная разрядность десятичных и численных типов данных SQL Server составляет 38. Чтобы обеспечить целостность данных при чтении и записи, объект SqlDataReader предоставляет характерные для SQL Server типизированные методы доступа, возвращающие объекты System.Data.SqlTypes, а также методы доступа, возвращающие типы .NET Framework. Типы данных SQL Server и .NET Framework также представлены перечислениями в классах DbType и SqlDbType, которые можно использовать при указании типов данных SqlParameter.
В приведенной ниже таблице показан выводимый тип .NET Framework, перечисления DbType и SqlDbType, а также методы доступа для класса SqlDataReader.
Тип ядра СУБД SQL Server |
.Тип .NET Framework |
Перечисление SqlDbType |
Типизированный метод доступа SqlDataReader SqlTypes |
Перечисление DbType |
Типизированный метод доступа SqlDataReader DbType |
---|---|---|---|---|---|
bigint |
Int64 |
||||
binary |
Byte[] |
||||
bit |
Boolean |
||||
char |
String Char[] |
||||
date (только SQL Server 2008) |
DateTime |
||||
datetime |
DateTime |
||||
datetime2 (только SQL Server 2008) |
DateTime2 |
||||
datetimeoffset (только SQL Server 2008) |
DateTimeOffset |
нет |
|||
decimal |
Decimal |
||||
Атрибут 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 (только SQL Server 2008) |
TimeSpan |
нет |
|||
timestamp |
Byte[] |
||||
tinyint |
Byte |
||||
uniqueidentifier |
Guid |
||||
varbinary |
Byte[] |
||||
varchar |
Строковые Char[] |
||||
xml |
Xml |
нет |
* Если известен базовый тип sql_variant, используйте конкретный типизированный метод доступа.
Ссылка на раздел электронной документации по SQL Server
Дополнительные сведения о типах данных SQL Server см. в электронной документации по SQL Server для используемой версии SQL Server.
SQL Server 2000 |
SQL Server 2005 |
SQL Server 2008 |
---|---|---|
См. также
Основные понятия
Настройка параметров и типов данных параметров (ADO.NET)
Другие ресурсы
Типы данных SQL Server и ADO.NET
Двоичные данные и данные большого размера SQL Server (ADO.NET)