How can you convert "tinyint" of t-sql to integer in c#?

What does it normally come back as - byte? If so, just do an unbox and then a convert:

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

or just let the conversion happen naturally:

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

or do the same with the strongly typed methods:

int x = reader.GetByte(column);

Adjust this to sbyte or short or whatever if I'm wrong about it mapping to byte. You could do the conversion at the SQL Server side, but I'd personally do it at the client side instead, and keep the SQL simpler.


Use "SByte" works every-time For handling the Tiny Int problem