J'ai toujours utilisé SqlDataAdapter
et DataSet
pour créer des formulaires de connexion. La logique était comme après avoir satisfait ma requête, s'il y a plus de 0 enregistrement alors la connexion est réussie.Formulaire de connexion à l'aide de sqlDataReader HasRow toujours false
Mais maintenant j'essaie la même chose en utilisant SqlDataReader
. Mais même la requête renvoie une ligne dans SQL Server Management Studio, SqlDataReader
ne détecte aucune ligne et ignore le bloc de code. Où est-ce que je fais cela mal?
public static bool Login(string username, string password)
{
string CString = DatabaseHelper.CString;
string CText = "select id from tblUser where username='@username' and password='@password'";
using (SqlConnection con = new SqlConnection(CString))
{
SqlCommand cmd = new SqlCommand(CText, con);
cmd.Parameters.AddWithValue("@userName", username);
cmd.Parameters.AddWithValue("@password", password);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
while (rdr.Read())
{
UserSession usr = new UserSession();
usr.userId = rdr["id"].ToString();
usr.username = username;
usr.isLoggedIn = true;
HttpContext.Current.Session["UserSession"] = usr;
return true;
}
}
else
{
return false;
}
}
return false;
}
Oh Je suis tellement gêné de faire une telle erreur. Merci. Ça a marché! :) – askBittu