Hola a todos ayer estuve con este problema unas 2 o 3 horas y hoy 1 hora no paro de buscar y me salen resultados sobretodo he ido probando soluciones de StackOverflow, y aunque me ha servido muchas cosas que he ido leyendo para aclararme sobre que puedo y que no puedo hacer con ExecuteScalar() ExecuteNonQuery() y un poco ExecuteReader(), no consigo obtener el número que hay almacenado en una celda que puede ser 1 o 0, esto lo almacenamos en una variable y dependiendo de lo que sea se hará una cosa u otra, he probado poniendo el lector.Read() dentro de while y también dentro de IF y nada, también metiendo lo de MySqlDataReader lector = comando.ExecuteReader() dentro de un using(aquí){},
MySqlConnection HacerConexion
= new MySqlConnection
(ConexionDB
); HacerConexion.Open(); //Abrimos conexión
MySqlCommand comando
= new MySqlCommand
(ConsultaSQL, HacerConexion
); MySqlDataReader rd = comando.ExecuteReader();
rd.Read();
int rangoUser = (int)rd["rango"];
if(rangoUser == 0)
{
MessageBox.Show("No eres admin");
}
else
{
MessageBox.Show("Sí eres admin");
}
Eso es lo que tengo ahora mismo e igualmente me da error en int rangoUser = (int) rd["rango"];
A ver si alguien tiene este mismo problemilla gracias y un saludo ahora buscaré por youtube a ver si veo algo
ACTUALIZACIÓNYa funciona!!!!! el problema venía de otra cosa totalmente diferente, necesitaba pasar el valor de un form a otro y por la tontería de que había puesto la variable estática (la que usaría más tarde en otro form) después de this.Hide() pues pasaba una variable vacía y claro después a la hora de hacer la consulta SQL en el WHERE le estaba pasando una variable vacía y por más que tocase cosas no conseguía nada, al final lo he hecho con ExecuteScalar() y me ha quedado tal que así:
MySqlConnection HacerConexion
= new MySqlConnection
(ConexionDB
); HacerConexion.Open(); //Abrimos conexión
MySqlCommand comando
= new MySqlCommand
(ConsultaSQL, HacerConexion
); Int32 lector = Convert.ToInt32(comando.ExecuteScalar());
if(lector == 0)
{
MessageBox.Show("No eres admin");
}
else if(lector == 1)
{
MessageBox.Show("Eres admin");
}
Por si a alguien le sirve