Asp.net网站接受登录从数据库中查询密码,并检查是否存在,进入新的asp网站

本文关键字:网站 是否 检查 存在 asp 密码 net 登录 查询 数据库 Asp | 更新日期: 2023-09-27 18:16:40

我正在尝试接受用户名的id和密码,并检查它与数据库,如果它存在,我希望它继续登录到新的asp网站页面不知道如何去新的Asp.net页面太。

protected void Submit1_Click(object sender, EventArgs e){
    SqlConnection a = new SqlConnection(@"Connection String");
    SqlCommand o = new SqlCommand("Select * from Log where Username=" + TextBox3.Text + "And Password=" + TextBox5.Text + ";", a);
    a.Open();
    SqlDataReader r = o.ExecuteReader(); //This keep showing error god knows why.
    if (TextBox3.Text == (string)r[1])
    {
        Label1.Visible = true;
    }
    else
    {
        Label1.Visible = true;
        Label1.Text = "RETRY";
    }
a.close();
}

Asp.net网站接受登录从数据库中查询密码,并检查是否存在,进入新的asp网站

由select语句形成的查询不会被执行,因为它在参数周围没有单引号。您应该仔细研究错误描述的细节并加以纠正。避免使用内联查询。尽可能使用存储过程。

 using (SqlConnection a = new SqlConnection(@"Connection"))
    {
        SqlCommand o = new SqlCommand("Select * from Log where Username='" + TextBox3.Text + "' And Password='" + TextBox5.Text + "';", a);
        a.Open();
        SqlDataReader r = o.ExecuteReader(); 
        if (r.Read())
        {
            Response.Redirect("Aspxpage.aspx");
        }
        else
        {
            //-- show Error 
        }
    }

使用以下代码

da = new SqlDataAdapter("select * from Log where Username= '" + TextBox3.Text + "' and Password= '" + TextBox5.Text + "'", cn);
            ds = new DataSet();
            da.Fill(ds, "Log");
            if (ds.Tables[0].Rows.Count != 0)
            {

                Response.Redirect("Aspxpage.aspx");
            }
            else
            {
                Response.Write("<script>alert('INVALID ADMIN');</script>");
            }

在提交我的问题时,我错过了一个重要的事情,这是在SqlCommand o= new SqlCommand("select'"+textbox.text+"'");单引号,我没有意识到。我看了几个视频,找出了问题所在,以及为什么要使用它。

protected void Submit1_Click(object sender, EventArgs e)
{
    SqlConnection a = new SqlConnection(@"Connection String");
SqlCommand o = new SqlCommand("Select * from Log where Username='" + TextBox3.Text + "'And Password='" + TextBox5.Text + "'", a);
a.Open();
SqlDataReader r = o.ExecuteReader();
if (r.Read())
{
    Label1.Visible = true;
}
else
{
    Label1.Visible = true;
    Label1.Text = "RETRY";
}
    a.Close();

}