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

后端 未结 4 592
日久生厌
日久生厌 2020-12-04 23:06

I have a tinyint column in the database and I wish to convert it to Int32 for an SqlDataReader.

How do i go about it?

相关标签:
4条回答
  • 2020-12-05 00:00

    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.

    0 讨论(0)
  • 2020-12-05 00:03
    int RetValue;
    RetValue = (int)(byte)dt.Rows[A][B]  // A = RowNo , B = 'tinyint' Column Name.
    
    0 讨论(0)
  • 2020-12-05 00:04

    To get a tinyint from a sql table i do the following:

    retorno = Convert.ToInt32(dr.GetByte(dr.GetOrdinal("StepStatus")));
    

    Where retorno is a int variable.

    I hope this help you.

    0 讨论(0)
  • 2020-12-05 00:06

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

    0 讨论(0)
提交回复
热议问题