Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O SQL Server e o .NET Framework são baseados em sistemas de tipos diferentes. Por exemplo, a estrutura do .NET Framework Decimal tem uma escala máxima de 28, enquanto os tipos de dados decimais e numéricos do SQL Server têm uma escala máxima de 38. Para manter a integridade dos dados ao ler e gravar dados, o SqlDataReader expõe métodos de acessador tipados específicos do SQL Server que retornam objetos de, bem como métodos de acessador que retornam tipos do System.Data.SqlTypes .NET Framework. Ambos os tipos do SQL Server e do DbType .NET Framework também são representados por enumerações nas classes and SqlDbType , que você pode usar ao especificar SqlParameter tipos de dados.
A tabela a seguir mostra o tipo .NET Framework inferido, as DbType enumerações e SqlDbType e os métodos de acessador para o SqlDataReader.
| Tipo de Mecanismo de Banco de Dados do SQL Server | Tipo do .NET Framework | Enumeração SqlDbType | SqlDataReader SqlTypes acessador digitado | Enumeração DbType | SqlDataReader DbType acessador digitado |
|---|---|---|---|---|---|
| bigint | Int64 | BigInt | GetSqlInt64 | Int64 | GetInt64 |
| binário | Byte[] | VarBinary | GetSqlBinary | Binary | GetBytes |
| pouco | Booleano | Bit | GetSqlBoolean | Boolean | GetBoolean |
| char | Cordão Char[] |
Char | GetSqlString |
AnsiStringFixedLength, String |
GetString GetChars |
| data 1 (SQL Server 2008 e posterior) |
Data e Hora | Date 1º | GetSqlDateTime | Date 1º | GetDateTime |
| Data e hora | Data e Hora | DateTime | GetSqlDateTime | DateTime | GetDateTime |
| datetime2 (SQL Server 2008 e posterior) |
Data e Hora | DateTime2 | Nenhuma | DateTime2 | GetDateTime |
| datetimeoffset (SQL Server 2008 e posterior) |
Desvio de Data e Hora | DateTimeOffset | nenhum | DateTimeOffset | GetDateTimeOffset |
| decimais | Decimal | Decimal | GetSqlDecimal | Decimal | GetDecimal |
| Atributo FILESTREAM (varbinary(max)) | Byte[] | VarBinary | GetSqlBytes | Binary | GetBytes |
| flutuante | Duplo | Float | GetSqlDouble | Double | GetDouble |
| imagem | Byte[] | Binary | GetSqlBinary | Binary | GetBytes |
| número inteiro | Int32 | Int | GetSqlInt32 | Int32 | GetInt32 |
| dinheiro | Decimal | Money | GetSqlMoney | Decimal | GetDecimal |
| Nchar | Cordão Char[] |
NChar | GetSqlString | StringFixedLength | GetString GetChars |
| ntexto | Cordão Char[] |
NText | GetSqlString | String | GetString GetChars |
| numérico | Decimal | Decimal | GetSqlDecimal | Decimal | GetDecimal |
| Nvarchar | Cordão Char[] |
NVarChar | GetSqlString | String | GetString GetChars |
| autêntico | Única | Real | GetSqlSingle | Single | GetFloat |
| versão de linha | Byte[] | Timestamp | GetSqlBinary | Binary | GetBytes |
| PequenoDateTime | Data e Hora | DateTime | GetSqlDateTime | DateTime | GetDateTime |
| Smallint | Int16 | SmallInt | GetSqlInt16 | Int16 | GetInt16 |
| dinheiro pequeno | Decimal | SmallMoney | GetSqlMoney | Decimal | GetDecimal |
| sql_variant | Objeto 2 | Variant | GetSqlValue 2 | Object | GetValue 2 |
| texto | Cordão Char[] |
Text | GetSqlString | String | GetString GetChars |
| hora (SQL Server 2008 e posterior) |
Intervalo de Tempo | Time | nenhum | Time | GetTimeSpan |
| carimbo de data/hora | Byte[] | Timestamp | GetSqlBinary | Binary | GetBytes |
| tinyint | byte | TinyInt | GetSqlByte | Byte | GetByte |
| identificador único | GUID | UniqueIdentifier | GetSqlGuid | Guid | GetGuid |
| Varbinary | Byte[] | VarBinary | GetSqlBinary | Binary | GetBytes |
| Varchar | Cordão Char[] |
VarChar | GetSqlString | AnsiString, String | GetString GetChars |
| XML | XML | Xml | GetSqlXml | Xml | nenhum |
1 Não é possível definir a DbType propriedade de a SqlParameter como SqlDbType.Date.
2 Use um acessador digitado específico se você souber o tipo subjacente do sql_variant.
Documentação do SQL Server
Para obter mais informações sobre tipos de dados do SQL Server, consulte Tipos de dados (Transact-SQL).