0

出于某种奇怪的原因,我的 while 循环被完全忽略了。断点表明它至少正在接近它,但甚至没有尝试进入。这可能是我想念的简单化的东西。

namespace website
{
public partial class Account : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Login_Click1(object sender, EventArgs e)
    {
        pullfrom();
    }



    private void pullfrom()
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=WSERV2012CNTRLR\SQLEXPRESS,1433; Initial Catalog=Dackup; User ID=user; Password=password"; 
        string username = user.Text.ToString();
        string password = pass.Text.ToString(); //Clients username and password     
        try
        {
            con.Open();
        }

         catch
        {
            correct.Text = "Not able to connect. Please try again in 5 minutes".ToString();
            correct.Visible = true; 
        }

        SqlCommand command = new SqlCommand("Select * from dackupinfo where username=@username and password=@password;", con);
        command.Parameters.Add("@username", SqlDbType.VarChar).Value = username;
        command.Parameters.Add("@password", SqlDbType.VarChar).Value = password;
        SqlDataReader reader = command.ExecuteReader();
        while(reader.Read()) // Continues without going into the while loop.
        {

            // Console.WriteLine(reader["susername"].ToString());
            // Console.WriteLine(reader["spassword"].ToString()); //sftpserver/username
            string finder = reader["username"].ToString();
            if (finder == null)
            {
                correct.Text = "Incorrect Credentials".ToString(); // Need to look into; as I can't get it to work. 
                correct.Visible = true;

            }
            if (finder != null)
            {
                Response.Redirect("UserCenter.aspx");

            }
            reader.Close();
        }
        con.Close();


    }


}

}`

4

1 回答 1

0

固定的。这是正确的代码。

         SqlDataReader reader = command.ExecuteReader();
        if (reader.Read())
        {
            if (reader != null)
            {
                Response.Redirect("UserCenter.aspx");
            }
        }
            else
            {
                correct.Text = "Incorrect Credentials".ToString(); 
                correct.Visible = true;
            }

        reader.Close();
        con.Close();
于 2013-08-25T00:37:34.247 回答