Hola.
Primeramente amigo no creo que para hacer un login usar dataset y datatable sea lo mas recomendado, y otra cosa siempre en tus query usa parametros te ahorras muchos problemas.
Has lo siguiente.
Código C:
Ver originalprivate bool Autenticar(string usuario, string password)
{
string sql = @"SELECT COUNT(*)
FROM Usuarios
WHERE usuario = @user AND contraseña = @pass";
using (SqlConnection conn = new SqlConnection(@"server=.\PACO;user=paco12;password=graduado12;database=VideoClub;"))
{
conn.Open();//abrimos conexion
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.Parameters.AddWithValue("@user", usuario);
cmd.Parameters.AddWithValue("@pass", password);
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count == 0)
return false;
else
return true;
}
}
Tienes un método de tipo bool que si devuelve true es que el logeo se realizo con exito si devuelve false es porque los datos son incorrectos como veras te ayudas de la función count del sql y del metodo ExecuteScalar() del objeto command para comprobar el logueo.
Entonces para hacer el login solo llamarías al método y le pasas los parámetros.
Código C:
Ver originalIf(!Autenticar(txtUsu.Text, txtCon.Text))
MessageBox.Show("Usuario o Contraseña Invalidos");
else
{
//Si entra aquí es porque el usuario se logueo correctamente
}
Saludos.