Es hält erscheinen, diesen Fehler "Object cannot be cast from DBNull to other types."
auf totaldevotos += Convert.ToInt32(dr["Classificacao"])
,Asp.net Auto-Inkrementdatenelement (das aus der Datenbank kommt) auf eine Variable -Fehler Objekt kann nicht von DBNull gegossen werden
im das Objekt zu konvertieren versuchen, die herkommt die Datenbank "Classificacao"
in eine Integer
, (es ist ein Int-Feld auf der Datenbank), irgendwelche Ideen?
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"]);
}
}
entweder überprüfen, ob die 'dr [" Classificacao "] Null ist mit der Funktion string.IsNullOrEmpty oder ich würde vorschlagen, Ihre Sql-Anweisung und in der Where-Klausel hinzufügen' AND Classificacao IS NOT NULL ' – MethodMan
versuchen, etwas wie das. 'totaldevotos + = dr [" Classificacao "]. IsDbNull? 0: Convert.ToInt32 (dr ["Classificacao"]); ' – MethodMan