SQL datareader进入int

时间:2016-12-13 19:37:59

标签: c# sql

我只是试图使用datareader将datareader [0]中的整数读入一个名为“每晚价格”的整数。

int price_per_night = 0;
while (read_price.Read())
{
    price_per_night = (read_price[0]);
}

无论我尝试多少种方法,它都不会转换。有明确的答案吗?

2 个答案:

答案 0 :(得分:6)

您可以在阅读器上使用GetInt32方法,并在调用此方法之前调用IsDBNull来检查空值。

在GetInt32上记住以下几点:

  

不进行转换;因此,检索的数据必须   已经是一个32位有符号整数。

int price_per_night = 0;
while (read_price.Read())
{
    if (!read_price.IsDBNull(0))
    {
       price_per_night = read_price.GetInt32(0);
    }
}

答案 1 :(得分:5)

这是怎么回事?

price_per_night = Convert.ToInt32(read_price[0]);