System.Data.SqlTypes Namespace

The System.Data.SqlTypes namespace provides classes for native data types in SQL Server. These classes provide a safer, faster alternative to the data types provided by the .NET Framework common language runtime (CLR). Using the classes in this namespace helps prevent type conversion errors caused by loss of precision. Because other data types are converted to and from SqlTypes behind the scenes, explicitly creating and using objects within this namespace also yields faster code.

Classes

SqlAlreadyFilledException

The SqlAlreadyFilledException class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

SqlBytes

Represents a mutable reference type that wraps either a Buffer or a Stream.

SqlChars

SqlChars is a mutable reference type that wraps a Char array or a SqlString instance.

SqlFileStream

Exposes SQL Server data that is stored with the FILESTREAM column attribute as a sequence of bytes.

SqlNotFilledException

The SqlNotFilledException class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

SqlNullValueException

The exception that is thrown when the Value property of a System.Data.SqlTypes structure is set to null.

SqlTruncateException

The exception that is thrown when you set a value into a System.Data.SqlTypes structure would truncate that value.

SqlTypeException

The base exception class for the System.Data.SqlTypes.

SqlTypesSchemaImporterExtensionHelper

The SqlTypesSchemaImporterExtensionHelper class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

SqlXml

Represents XML data stored in or retrieved from a server.

TypeBigIntSchemaImporterExtension

The TypeBigIntSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeBinarySchemaImporterExtension

The TypeBinarySchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeBitSchemaImporterExtension

The TypeBitSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeCharSchemaImporterExtension

The TypeCharSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeDateTimeSchemaImporterExtension

The TypeDateTimeSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeDecimalSchemaImporterExtension

The TypeDecimalSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeFloatSchemaImporterExtension

The TypeFloatSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeIntSchemaImporterExtension

The TypeIntSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeMoneySchemaImporterExtension

The TypeMoneySchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeNCharSchemaImporterExtension

The TypeNCharSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeNTextSchemaImporterExtension

The TypeNTextSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeNumericSchemaImporterExtension

The TypeNumericSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeNVarCharSchemaImporterExtension

The TypeNVarCharSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeRealSchemaImporterExtension

The TypeRealSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeSmallDateTimeSchemaImporterExtension

The TypeSmallDateTimeSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeSmallIntSchemaImporterExtension

The TypeSmallIntSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeSmallMoneySchemaImporterExtension

The TypeSmallMoneySchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeTextSchemaImporterExtension

The TypeTextSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeTinyIntSchemaImporterExtension

The TypeTinyIntSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeUniqueIdentifierSchemaImporterExtension

The TypeUniqueIdentifierSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeVarBinarySchemaImporterExtension

The TypeVarBinarySchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeVarCharSchemaImporterExtension

The TypeVarCharSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

TypeVarImageSchemaImporterExtension

The TypeVarImageSchemaImporterExtension class is not intended for use as a stand-alone component, but as a class from which other classes derive standard functionality.

Structs

SqlBinary

Represents a variable-length stream of binary data to be stored in or retrieved from a database.

SqlBoolean

Represents an integer value that is either 1 or 0 to be stored in or retrieved from a database.

SqlByte

Represents an 8-bit unsigned integer, in the range of 0 through 255, to be stored in or retrieved from a database.

SqlDateTime

Represents the date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds to be stored in or retrieved from a database. The SqlDateTime structure has a different underlying data structure from its corresponding .NET Framework type, DateTime, which can represent any time between 12:00:00 AM 1/1/0001 and 11:59:59 PM 12/31/9999, to the accuracy of 100 nanoseconds. SqlDateTime actually stores the relative difference to 00:00:00 AM 1/1/1900. Therefore, a conversion from "00:00:00 AM 1/1/1900" to an integer will return 0.

SqlDecimal

Represents a numeric value between - 10^38 +1 and 10^38 - 1, with fixed precision and scale.

SqlDouble

Represents a floating-point number within the range of -1.79E +308 through 1.79E +308 to be stored in or retrieved from a database.

SqlGuid

Represents a GUID to be stored in or retrieved from a database.

SqlInt16

Represents a 16-bit signed integer to be stored in or retrieved from a database.

SqlInt32

Represents a 32-bit signed integer to be stored in or retrieved from a database.

SqlInt64

Represents a 64-bit signed integer to be stored in or retrieved from a database.

SqlMoney

Represents a currency value ranging from -2 63 (or -922,337,203,685,477.5808) to 2 63 -1 (or +922,337,203,685,477.5807) with an accuracy to a ten-thousandth of currency unit to be stored in or retrieved from a database.

SqlSingle

Represents a floating point number within the range of -3.40E +38 through 3.40E +38 to be stored in or retrieved from a database.

SqlString

Represents a variable-length stream of characters to be stored in or retrieved from the database. SqlString has a different underlying data structure from its corresponding .NET Framework String data type.

Interfaces

INullable

All the System.Data.SqlTypes objects and structures implement the INullable interface.

Enums

SqlCompareOptions

Specifies the compare option values for a SqlString structure.

StorageState

The StorageState enumeration is not intended for use as a stand-alone component, but as an enumeration from which other classes derive standard functionality.

Remarks

Each data type in SqlTypes has its equivalent data type in SQL Server, with the same underlying data representation. Many of them also have equivalent data types in the CLR. However, SqlDateTime, SqlDecimal, and SqlString have different underlying data structures with their corresponding .NET Framework data types.

The following table maps the members of the SqlTypes namespace to Microsoft SQL Server data types and to the members of the SqlDbType enumeration.

.NET Framework SqlTypes Native SQL Server .NET Framework SqlDbType
SqlBinary binary, image, timestamp, varbinary Binary, Image, TimeStamp, VarBinary
SqlBoolean bit Bit
SqlByte tinyint TinyInt
SqlBytes binary, image, timestamp, varbinary Binary, Image, TimeStamp, VarBinary
SqlChars char, nchar, text, ntext, nvarchar, varchar Char, NChar, Text, Ntext, NVarChar, VarChar
SqlDateTime datetime, smalldatetime DateTime, SmallDateTime
SqlDecimal numeric, decimal Decimal
SqlDouble float Float
SqlFileStream varbinary VarBinary
SqlGuid uniqueidentifier UniqueIdentifier
SqlInt16 smallint SmallInt
SqlInt32 int Int
SqlInt64 bigint BigInt
SqlMoney money, smallmoney Money, SmallMoney
SqlSingle real Real
SqlString char, nchar, text, ntext, nvarchar, varchar Char, NChar, Text, Ntext, NVarChar, VarChar
SqlXml xml Xml