Estoy tratando de obtener el valor Score_Waarde
de mi base de datos utilizando el siguiente código:conversión especificada no es válida
critid = critid_arr[teller2].ToString();
int scorehulp = 0;
string userid = Session["userid"].ToString();
SqlCommand cmd3 = new SqlCommand("SELECT Score_Waarde FROM Score WHERE Crit_ID = '" + critid + "' AND User_ID = '" + userid + "' ", con);
scorehulp = (int)cmd3.ExecuteScalar();
Cuando trato de ejecutar este me sale el siguiente error: La conversión especificada no es válida. No entiendo por qué obtengo este error porque critid
y userid
están dando los valores correctos.
Con el depurador asociado, ¿qué valor * * se volvió? Si no es de tipo 'System.Int32' entonces que va a morir horriblemente. (por ejemplo, si se devuelve un' long' o 'byte' no funcionaría.) Mejor wa y para encontrar/corregir es para verificar las suposiciones; y el uso de un depurador aquí omitirá 20 pasos :-) –
Puede probar [Int32.Parse] (http://msdn.microsoft.com/en-us/library/b3h1hf19.aspx) en la representación de cadenas del valor de retorno . Pero ten cuidado con los valores 'Null'. 'Int32.Parse (cmd3.ExecuteScalar(). ToString())' –
Debe verificar que el valor devuelto no sea 'DBNull'. –