Problème de remplissage de la table de données avec SQL carte ASP.NET

J'ai un nom d'utilisateur de la table db que j'essaie de connecter de façon à comparer le nom d'utilisateur/pass.

Voici mon code, ça ne fonctionne pas, ce que je fais mal?

DataTable dt = null;

protected void btn_Click_Login(object sender, EventArgs e)
{
    string query = string.Format("SELECT * FROM Users WHERE Username='{0}' AND Password='{1}'", txtUsername.Text, txtPassword.Text);

    using (SqlConnection c = new SqlConnection(ConfigurationManager.ConnectionStrings["RBConnectionString"].ConnectionString))
    {
        c.Open();

        using (SqlDataAdapter a = new SqlDataAdapter(query, c))
        {
            DataTable t = new DataTable();
            a.Fill(t);
        }
    }
    if (dt.Rows.Count > 0)
    {
        Session["Username"] = txtUsername.Text;
        Session["Password"] = txtPassword.Text;
        Response.Redirect("main.aspx");
        lblError.Text = "success";
    }
    else
    {
        lblError.Text = "Wrong Username/Password combination";
    }
} 

}

  • Quand vous dites que ça ne marche pas, dans quel sens? Ne vous obtenez une erreur? Comme une question de côté (mais importante), vous êtes vous-même ouverture à l'injection SQL par la construction de la SQL de manière dynamique comme ça. Vous devez utiliser SQL paramétré à la place.
  • Je suis une référence nulle exception lorsque vous essayez de compter les lignes dans la table de données. Le débogueur dit: la référence d'Objet n'est pas définie à une instance d'un objet.