我正在尝试接受来自用户名的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();
}
答案 0 :(得分:1)
由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
}
}
答案 1 :(得分:0)
使用以下代码
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>");
}
答案 2 :(得分:0)
在提交我的问题时,我错过了一个重要的事情,那就是在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();
}