我有一个用户名数据库表,我试图用它来比较用户名/密码。在ASP.NET中使用SQL适配器填充数据表问题
这是我的代码,它不工作,我做错了什么?
DataTable dt = null;
protected void btn_Click_Login(object sender, EventArgs e)
{
string query = string.Format("SELECT * FROM Users WHERE Username='{0}' AND Password='{1}'", txtUsername.Text, txtPassword.Text);
using (SqlConnection c = new SqlConnection(ConfigurationManager.ConnectionStrings["RBConnectionString"].ConnectionString))
{
c.Open();
using (SqlDataAdapter a = new SqlDataAdapter(query, c))
{
DataTable t = new DataTable();
a.Fill(t);
}
}
if (dt.Rows.Count > 0)
{
Session["Username"] = txtUsername.Text;
Session["Password"] = txtPassword.Text;
Response.Redirect("main.aspx");
lblError.Text = "success";
}
else
{
lblError.Text = "Wrong Username/Password combination";
}
}
}
你做了什么错误? – anishMarokey 2010-09-22 11:20:17
当你说它不工作,以什么方式?你有错误吗?作为一个侧面的问题(但是很重要),通过动态构建SQL来打开自己的SQL注入。您应该使用参数化的SQL。 – AdaTheDev 2010-09-22 11:22:11
当我试图对数据表中的行进行计数时,我得到一个空引用异常。调试器说:对象引用未设置为对象的实例。 – 2010-09-22 18:52:23