1

ログインページを作成しようとしています。Login というデータベース テーブルがあり、ID と Password の 2 つの列があります。次の ID とパスワードのペアがあります: 最初の行:(13282,123456)、2 番目の行:(11111,11111)。ユーザー名とパスワードが正しい場合は、ページを succesful.aspx にリダイレクトします。ユーザー名またはパスワードが間違っている場合は、ページを unsuccesful.aspx にリダイレクトします。私の問題は、ID として 13283 を入力し、パスワードとして 123456 を入力すると、すべてが正しく行われ、成功したページにリダイレクトされることです。しかし、ID=11111 とパスワード=11111 を入力すると、すべてが true であるにもかかわらず、失敗したページにリダイレクトされます。問題は、クエリが最初の行のみをチェックすることだと思います。コードは次のとおりです。

 protected void loginButton_Click(object sender, EventArgs e)
{

    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=University;Integrated Security=True;Pooling=False";


    Int32 verify;
    string query1 = "Select count(*) from Login where ID='" + idBox.Text + "' and Password='" + passwordBox.Text + "' ";
    SqlCommand cmd1 = new SqlCommand(query1, con);
    con.Open();
    verify = Convert.ToInt32(cmd1.ExecuteScalar());
    con.Close();
    if (verify > 0)
    {
        Response.Redirect("succesful.aspx");
    }
    else
    {
        Response.Redirect("unsuccesful.aspx",true);
    }

}
4

1 に答える 1