2

while (reader.Read())
{
    if (TextBox1.Text.CompareTo(reader["usernam"].ToString()) == 0&&TextBox2.Text.CompareTo(reader["passwd"].ToString()) == 0) // A little messy but does the job to compare your infos assuming your using a textbox for username and password
    {
        Label3.Text = "Redirecting";



        Response.Cookies["dbname"]["Name"] = reader["usernam"].ToString();
        Response.Cookies["dbname"].Expires = DateTime.Now.AddSeconds(10);
        Response.Redirect("index2.aspx");

    }
    else
    { Label3.Text = "NO"; }

}

ユーザー名 (usernam) とパスワード (passwd) の両方を比較しようとすると、このエラーが発生します。ユーザー名とdbエントリのみを比較すると、魅力的に機能します。

実際のデータが使用されている場合にのみエラーが発生します。EI ログイン Web ページに [admin]、[admin] と入力すると、エラーが表示されます。[asd]、[asd] と入力すると、ラベルが NO に変わります。

コードの背後にあるアイデアは、ログイン ページです。私の説明が十分であることを願っています。

4

2 に答える 2

4

テーブルからユーザー名のみを選択しています。パスワードを選択していないため、結果セットからパスワードを取得しようとすると例外がスローされます。

クエリを次のように変更します。

string selectString = "SELECT usernam, passwd FROM Table1";
于 2013-05-07T10:57:35.240 に答える