Как можно преобразовать “tinyint” t-sql к целому числу в c#?

У меня есть a tinyint столбец в базе данных и я хочу преобразовать его в Int32 для SqlDataReader.

Как я иду об этом?

Редактирование № 1

Я недавно должен был сделать это.

int a = dataReader.GetByte(dr.GetOrdinal("ColumnName"));

Дополнение #In к ответу

Отображения типа данных SQL Server

bigint           - GetInt64  
binary           - GetBytes  
int              - GetInt32  
money            - GetDecimal  
rowversion       - GetBytes  
smallint         - GetInt16  
tinyint          - GetByte  
uniqueidentifier - GetGuid   
...

Для большего количества информационного посещения - Отображения Типа данных SQL Server

58
задан Robbert 25 February 2014 в 15:33
поделиться

1 ответ

Что обычно возвращается как - байт? Если это так, просто выполните распаковку, а затем преобразование:

(int)(byte) reader["column"];

или просто позвольте преобразованию произойти естественным образом:

int x = (byte) reader["column"];

или сделайте то же самое со строго типизированными методами:

int x = reader.GetByte(column);

Измените это на sbyte или short или что-то еще, если я ошибаюсь в том, что он отображается в байт . Вы можете выполнить преобразование на стороне SQL Server, но я бы лично сделал это на стороне клиента, а SQL оставил проще.

87
ответ дан 24 November 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: