注册 登录
编程论坛 ASP.NET技术论坛

问一下,这个错在那里

fanboy 发布于 2008-11-28 13:22, 673 次点击
protected void Button1_Click(object sender, EventArgs e)
    {
        if (!(TextBox1.Text == "" || TextBox2.Text == ""))
        {
            string connstr = ConfigurationManager.ConnectionStrings["OleDBconnstr"].ConnectionString;
            string ss = "select count(*) from user where usname='" + TextBox1.Text.Trim().ToString() + "' and uspass='" + TextBox2.Text.Trim().ToString() + "'";
            // cs.open();
            OleDbConnection oleconn = new OleDbConnection(connstr);
            OleDbCommand olecomm = new OleDbCommand();
            olecomm.Connection = oleconn;
             = ss;
            oleconn.Open();
            if (Convert.ToInt32(olecomm.ExecuteScalar()) > 0)
            {
                oleconn.Close();
                Session["admin"] = this.TextBox1.Text.Trim().ToString();
                Response.Write("<script>alert('欢迎你回来!');window.location.href='AddTeacher.aspx';</script>");
            }
            else
            {
                oleconn.Close();
                Response.Write("<script language=" + "\"JavaScript\"" + ">alert('用户名密码错误?')</script>");
                return;
            }
        }
        else
        {
            Response.Write("<script language=" + "\"JavaScript\"" + ">alert('请输入用户名和密码!!')</script>");
            return;
        }
}
真不知道错在那里了,sql语句也是对的啊,他老说from子句语法错误
4 回复
#2
zhishiouran2008-11-28 13:23
设置个断点,单步执行一下看看,错在什么地方了
#3
bygg2008-11-28 13:55
string ss = "select count(*) from [user] where usname='" + TextBox1.Text.Trim().ToString() + "' and uspass='" + TextBox2.Text.Trim().ToString() + "'";
#4
fanboy2008-11-28 14:04
谢谢bygg
太感谢了,找了好半天,原来是[]的问题啊
#5
bygg2008-11-28 15:58
因为user是数据库中的特殊字符...
在语句中,用到数据表中的列时,也可以用[]来解决

[[it] 本帖最后由 bygg 于 2008-11-28 16:02 编辑 [/it]]
1