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

Ayuda con visual C# 2008: SQL

Estas en el tema de Ayuda con visual C# 2008: SQL en el foro de .NET en Foros del Web. Hola que tal, espero que todos esten muy bien. Me preguntaba si alguien podria ayudarme con mi siguiente problema: Tengo un metodo que recibe como ...
  #1 (permalink)  
Antiguo 26/02/2011, 15:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 46
Antigüedad: 13 años, 6 meses
Puntos: 1
Exclamación Ayuda con visual C# 2008: SQL

Hola que tal, espero que todos esten muy bien. Me preguntaba si alguien podria ayudarme con mi siguiente problema:

Tengo un metodo que recibe como parametro un usuario, una contraseña y una conexion sql(Manejo MySQLServer 2005). Todo va bien hasta ahi. Dentro de mi base de datos tengo una tabla llamada terapeuta y otra administrador, cada una con su nombre de usuario y contraseña.

Lo que hago primero es consultar la tabla de los administradores, y si hay un administrador regresa un 2, que simboliza que es un administrador, si no, lanzo una excepcion que es atrapada y dentro del catch que atrapa la excepcion vuelvo a consultar pero ahora la tabla de teraeputas, si esta, regresa un 1 que significa que es un terapeuta, si no manda una excpecion que al ser atrapada regresa un 0, que simboliza que no hay datos. Aqui va el codigo:

public int ingresoSistema(string usuario, string contraseña, MySqlConnection conexion)
{


try
{
/*Si se retorna 0, es que no hay valores,
Si se retorna 1, es que es un terapeuta,
Si se retorna 2, es que es un administrador*/
MySqlDataReader leer;
MySqlCommand comando;
string consulta = "select * from administrador where Id_Admon='" + usuario + "' and Contrasena='" + contraseña + "';";
comando = new MySqlCommand(consulta, conexion);
leer = comando.ExecuteReader();
int contador = 0;
while (leer.Read() && contador == 0) {
contador++;
}
if (contador != 0)
return 2;
else {
throw new Exception();
return 0;
}
}
catch
{
try {
MySqlDataReader leer;
MySqlCommand comando;

string consulta = "select * from terapeuta where Nombre_T='" + usuario + "' and Contrasena='" + contraseña + "';";
comando = new MySqlCommand(consulta, conexion);
leer= comando.ExecuteReader();
int contador = 0;
while (leer.Read() && contador==0) {

contador++;
}
if (contador != 0)
{
return 2;
}
else {
throw new Exception();
return 0;
}

}
catch {

return 0;
}

}


}
Mi problema radica en que si no es administrador, pasa al bloque donde comprueba si es terapeuta, pero no hace bien la consulta, manda que no existe aunque los datos esten correctos, si invierto los papeles, es decir, que verifique si es primero terapeuta y despues administrador, ahora lo que no me detecta son los administradores. En pocas palabras, no me hace bien el manejo de la segunda consulta que le hago. ya verifique y los datos y la conexion estan bien, no se a que se deba.

muchas graxias por su atencion, espero me puedan ayudar con este problema.
  #2 (permalink)  
Antiguo 27/02/2011, 21:25
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Ayuda con visual C# 2008: SQL

si es administrador debe de regresar un 2 verdad... por eso en el while pones return 2... y en terapeuta debe de ser return 1... o me ekiboko
__________________
Desarrollador .Net y Php
MCTS Framework 2.0:Windows Applications
Microsoft Certificated Profesional
  #3 (permalink)  
Antiguo 01/03/2011, 21:00
 
Fecha de Ingreso: octubre-2010
Mensajes: 46
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Ayuda con visual C# 2008: SQL

Hola que tal, ya logre solucionar el problema, si estaba mal el return, pero aparte me hacia falta cerrar la conexion y volver a crear una nueva. muchisimas gracias por tu interes !!

Etiquetas: sql, visual
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:39.