elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Almacenar en variable un valor entero con MySqlDataReader
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Almacenar en variable un valor entero con MySqlDataReader  (Leído 631 veces)
RevolucionVegana


Desconectado Desconectado

Mensajes: 477



Ver Perfil
Almacenar en variable un valor entero con MySqlDataReader
« en: 10 Abril 2017, 11:35 »

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í){},

Código
  1. MySqlConnection HacerConexion = new MySqlConnection(ConexionDB);
  2.            HacerConexion.Open(); //Abrimos conexión
  3.            MySqlCommand comando = new MySqlCommand(ConsultaSQL, HacerConexion);
  4.            MySqlDataReader rd = comando.ExecuteReader();
  5.  
  6.            rd.Read();
  7.            int rangoUser = (int)rd["rango"];
  8.  
  9.            if(rangoUser == 0)
  10.            {
  11.                MessageBox.Show("No eres admin");
  12.            }
  13.            else
  14.            {
  15.                MessageBox.Show("Sí eres admin");
  16.            }

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ÓN

Ya 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í:

Código
  1. MySqlConnection HacerConexion = new MySqlConnection(ConexionDB);
  2.            HacerConexion.Open(); //Abrimos conexión
  3.            MySqlCommand comando = new MySqlCommand(ConsultaSQL, HacerConexion);
  4.            Int32 lector = Convert.ToInt32(comando.ExecuteScalar());
  5.  
  6.            if(lector == 0)
  7.            {
  8.                MessageBox.Show("No eres admin");
  9.            }
  10.            else if(lector == 1)
  11.            {
  12.                MessageBox.Show("Eres admin");
  13.            }
  14.  

Por si a alguien le sirve :D


« Última modificación: 10 Abril 2017, 12:31 por RevolucionVegana » En línea

HAS DICHO ALGO NENAAAAAA?!
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Almacenar en variable un valor entero con MySqlDataReader
« Respuesta #1 en: 10 Abril 2017, 12:28 »

me da error en int rangoUser = (int) rd["rango"];

¿Qué tipo de excepción y con que mensaje de error?. No somos adivinos.

¡Saludos!


En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines