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();
}
由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();
}