Asp.net自动增量数据(来自数据库)到变量-错误对象不能从DBNull强制转换
本文关键字:不能 对象 错误 DBNull 转换 变量 net 数据 Asp 数据库 | 更新日期: 2023-09-27 18:09:13
一直出现此错误"Object cannot be cast from DBNull to other types."
on totaldevotos += Convert.ToInt32(dr["Classificacao"])
,
我试图将来自数据库"Classificacao"
的对象转换为Integer
,(它是数据库上的一个Int字段),有什么想法吗?
string sql = "SELECT * from Users LEFT JOIN Cocktails on Users.ID_Utilizador=Cocktails.ID_utilizador1 LEFT JOIN Rating on Cocktails.ID_cocktail=Rating.ID_cocktail WHERE Cocktails.ID_utilizador1=Users.ID_utilizador AND Users.ID_utilizador=" + ID;
int totaldevotos = 0;
SqlDataReader dr = con.query(sql);
while (dr.Read())
{
if (dr.HasRows)
{
totaldevotos += Convert.ToInt32(dr["Classificacao"]);
}
}
数据库中的值至少在某些行中为NULL。
在尝试解析该值之前,检查它是否为null。
if (dr.HasRows)
{
while (dr.Read())
{
if (dr["Classificacao"] != DBNull.Value)
{
totaldevotos += Convert.ToInt32(dr["Classificacao"]);
}
}
}
同样,您只需要在开始循环之前检查一次dr.HasRows
。