Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con Mysqldatareader y contraseña

Estas en el tema de Problema con Mysqldatareader y contraseña en el foro de .NET en Foros del Web. Hola a todos. Estoy programando con el Visual Studio 2005 una aplicación en ASP.NET y usando mysql como base de datos. He sacado muchísimas cosas ...
  #1 (permalink)  
Antiguo 25/05/2009, 08:59
 
Fecha de Ingreso: mayo-2009
Ubicación: Valencia
Mensajes: 18
Antigüedad: 14 años, 11 meses
Puntos: 0
Problema con Mysqldatareader y contraseña

Hola a todos.
Estoy programando con el Visual Studio 2005 una aplicación en ASP.NET y usando mysql como base de datos.
He sacado muchísimas cosas de este foro, porque no tengo ni idea de programar con bases de datos, pero mi compañero está desaparecido en combate, y me estoy buscando la vida.
Bueno, a lo que iba: que he sacado mucho, pero llevo ya dos días con el mismo error y de ahí no paso.
En el form de login típico del visual, cuando intento validar el usuario y la contraseña (al menos comprobar que estén, de momento) me salta un error con el executereader en la contraseña (ponga lo que ponga).

Este es el error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pass' at line 1

Os dejo el código por si alguien me puede abrir los ojos, porque de tanto golpe ya no veo nada.

MySqlConnection cn = new MySqlConnection("Database=nombrebd;Data Source=localhost;User Id=root;Password=; Connection Timeout=200");
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "SELECT * from usuarios WHERE nombre='"+usuario+" and contrasenya='"+psw+";";
cmd.Connection = cn;
cn.Open();
MySqlDataReader resp =cmd.ExecuteReader();
resp.Read();

if (resp.HasRows==true) return true;
else return false;
resp.Close();
cn.Close();

Bueno, un saludo y muchísimas gracias por adelantado.
  #2 (permalink)  
Antiguo 25/05/2009, 09:37
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con Mysqldatareader y contraseña

parece claro que el error esta en la SELECT que usas.
Y me da en la nariz que te faltan unas comillas simples, te he puesto las 4 en rojo (por cierto, cuando concatenes, es mejor usar el simbolo & en vez del + ya que así siempre entendera ue estas concatenando y no sumando:

por lo tanto, la cnsulta te qeuda:

Cita:
SELECT * from usuarios WHERE nombre='" & usuario & "' and contrasenya='" & psw & "' "

Mejor???
Por cierto, la proxima vez que te diga tan claro lo de que te esta fallando la sintanzis de la select, VERÍFICALO PRIMERO.
Ale, un saludo, ya nos dices si te va bien.
  #3 (permalink)  
Antiguo 25/05/2009, 09:52
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con Mysqldatareader y contraseña

javi_cassi ten en cuenta que el operador & solo es soportado en Vb .Net y no en C#
aclarando algunas dudas
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 25/05/2009, 10:01
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con Mysqldatareader y contraseña

correcto.
pero he de decir qeu al estar usando .NET lo suyo es usar & para que no tenga problemas con las concatenaciones numericas, etc etc etc.

Aun asi, buen puntualizacion (sobre todo, porque la desconocia. es lo qeu tienes darle tol dia al .net)

Saludos
  #5 (permalink)  
Antiguo 25/05/2009, 10:05
 
Fecha de Ingreso: mayo-2009
Ubicación: Valencia
Mensajes: 18
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema con Mysqldatareader y contraseña

Cita:
Iniciado por javi_cassi Ver Mensaje
parece claro que el error esta en la SELECT que usas.
Y me da en la nariz que te faltan unas comillas simples, te he puesto las 4 en rojo (por cierto, cuando concatenes, es mejor usar el simbolo & en vez del + ya que así siempre entendera ue estas concatenando y no sumando:

por lo tanto, la cnsulta te qeuda:




Mejor???
Por cierto, la proxima vez que te diga tan claro lo de que te esta fallando la sintanzis de la select, VERÍFICALO PRIMERO.
Ale, un saludo, ya nos dices si te va bien.
Muchas gracias. Como dice Dradi7, el + para concatenar lo uso por el C#. Nunca he utilizado & con C#.
Pues nada, revisando tus comillas, me he dado cuenta que me faltaba sólo una simple, pero como las ponía al lado de las dobles, no me daba cuenta.
No me acaba de funcionar la consulta a la base de datos (voy a ver qué hago), pero al menos el problema del datareader ya está solucionado. Gracias otra vez.
  #6 (permalink)  
Antiguo 25/05/2009, 12:01
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con Mysqldatareader y contraseña

perecto pues.

Ya sabes, si tienes mas dudas, por aqui andamos (ahora que documentate siempre )

Lindo dia.

gracias Dradi7
  #7 (permalink)  
Antiguo 25/05/2009, 12:32
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Problema con Mysqldatareader y contraseña

hola:

una duda Tucky5 de casualidad no hace falta que le insertes la contraseña a la siguiente linea:

MySqlConnection cn = new MySqlConnection("Database=nombrebd;Data Source=localhost;User Id=root;Password=????; Connection Timeout=200");

o tal vez intencionalmente no la pusiste, la consulta de acuerdo a como te han dicho los compañeros parece que ya esta bien, checa y comenta
  #8 (permalink)  
Antiguo 25/05/2009, 12:45
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con Mysqldatareader y contraseña

Anubis_Slash no necesariamente se debe poner la contraseña al momento de conectarse de repente el puede logearse en el sistema sin necesidad de contraseña de lo contrario podria ser un error grave como tu dices de igual modo buena la pregunta
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #9 (permalink)  
Antiguo 28/05/2009, 05:59
 
Fecha de Ingreso: mayo-2009
Ubicación: Valencia
Mensajes: 18
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema con Mysqldatareader y contraseña

Cita:
Iniciado por Anubis_Slash Ver Mensaje
hola:

una duda Tucky5 de casualidad no hace falta que le insertes la contraseña a la siguiente linea:

MySqlConnection cn = new MySqlConnection("Database=nombrebd;Data Source=localhost;User Id=root;Password=????; Connection Timeout=200");

o tal vez intencionalmente no la pusiste, la consulta de acuerdo a como te han dicho los compañeros parece que ya esta bien, checa y comenta
Hola Anubish. El problema era el que he comentado (que faltaba una comilla simple) lo que pasa que me marcaba el error en la siguiente línea de código, que era en la que recogía la contraseña, por eso yo pensaba que era eso.
  #10 (permalink)  
Antiguo 28/05/2009, 08:24
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Problema con Mysqldatareader y contraseña

perfecto Tucky5, felicidades
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.