Hola...
Estoy haciendo un login y al hacerlo me valida obviamente solo los datos que tengo en la tabla pero si el dato no se encuentra entonces me manda la excepcion:
No hay ninguna fila en la posición 0. y no entiendo como lograr que me ejecute una condicion ya que si las anteriores no fueron realizadas me mande a otra para mandar un alerta. Mi codigo es el siguiente:
try
{
con.Open();
SqlCommand check = new SqlCommand(@"select nick_user, pass_user, tipo_user from usuarios where nick_user = '"+loguser.Value+"' AND pass_user = '"+logpass.Value+"'",
con);
SqlDataAdapter da = new SqlDataAdapter(check);
DataTable dt = new DataTable();
check.ExecuteNonQuery();
DataSet ds = new DataSet();
da.Fill(ds,"usuarios");
DataRow DR;
DR = ds.Tables["usuarios"].Rows[0];
if((loguser.Value == DR["nick_user"].ToString()) && (logpass.Value == DR["pass_user"].ToString()) && (DR["tipo_user"].ToString() =="ADMINISTRADOR")){
Response.Redirect("~/Admin/Index.aspx");
}
else if ((loguser.Value == DR["nick_user"].ToString()) && (logpass.Value == DR["pass_user"].ToString()) && (DR["tipo_user"].ToString() == "USUARIO"))
{
Response.Redirect("~/public/home.aspx");
}
else
if (ds.Tables["usuarios"].Rows.Count == 0)
{
Response.Write("<script language = javascript>alert('Acceso denegado, Datos incorrectos'); </script>");
}
}
catch (Exception horror)
{
Response.Write("Tiene un error en:" + " " + horror.Message);
con.Close();
}
}