我只是试图使用datareader将datareader [0]中的整数读入一个名为“每晚价格”的整数。
int price_per_night = 0;
while (read_price.Read())
{
price_per_night = (read_price[0]);
}
无论我尝试多少种方法,它都不会转换。有明确的答案吗?
答案 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]);