The SQL Server provider provides access to a SQL Server database (Version 7.0 or later) through the optimized Tabular Data Stream (TDS) interface (see Table A-1). To connect to the pre-7.0 version of SQL Server, use the OLE DB .NET data provider with the SQL Server OLE DB provider (SQLOLEDB). The connection-specific types are found in the System.Data.SqlClient namespace.
Interface |
Implementing class |
---|---|
IDbConnection |
SqlConnection |
IDbCommand |
SqlCommand |
IDataParameter, IDbDataParameter |
SqlParameter |
IDataReader, IDataRecord |
SqlDataReader |
IDataAdapter, IDbDataAdapter |
SqlDataAdapter |
IDbTransaction |
SqlTransaction |
The SQL Server provider also provides .NET structures that map exactly to SQL Server types in the System.Data.SqlTypes namespace (see Table A-2). You can use SqlDataReader methods such as GetSqlMoney( ) and GetSqlDataTime( ) to retrieve values using these types (as described in Chapter 2).
SQL Server data type |
Mapped .NET Type(System namespace) |
Underlying .NET type(SqlTypes namespace) |
---|---|---|
Binary |
Byte[] |
SqlBinary |
Bigint |
Int64 |
SqlInt64 |
Char |
String |
SqlString |
Datetime |
DateTime |
SqlDateTime |
Decimal |
Decimal |
SqlDecimal |
Float |
Double |
SqlDouble |
Image |
Byte[] |
SqlBinary |
Int |
Int32 |
SqlInt32 |
Money |
Decimal |
SqlMoney |
Nchar |
String |
SqlString |
Ntext |
String |
SqlString |
Nvarchar |
String |
SqlString |
Numeric |
Decimal |
SqlDecimal |
Real |
Single |
SqlSingle |
Smalldatetime |
DateTime |
SqlDateTime |
Smallint |
Int16 |
SqlInt16 |
Smallmoney |
Decimal |
SqlMoney |
sql_variant |
Object |
System.Object (base class) |
Sysname |
String |
SqlString |
Text |
String |
SqlString |
Timestamp |
DateTime |
SqlBinary |
Tinyint |
Byte |
SqlByte |
Varbinary |
Byte[] |
SqlBinary |
Varchar |
String |
SqlString |
Uniqueidentifier |
Guid |
SqlGuid |