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

将 varchar 值 'admin' 转换为数据类型为 int 的列时发生语法错误。

水晶心 发布于 2010-08-13 15:57, 1362 次点击
string str = ConfigurationSettings.AppSettings["dsn"];
        SqlConnection cn = new SqlConnection(str);
        cn.Open();
        string mysql = "select * from admin where aid='" + tbx_aid.Text + "'and apassword ='" + tbx_apassword.Text + "'";
        SqlCommand cm =new SqlCommand(mysql,cn);
        SqlDataReader ur =cm.ExecuteReader();
        if (ur.Read())
        {
           
        Session["aid"]= ur["aid"];
        Session["aname"]= ur ["aname"];
        Session["apower"]= ur ["apower"];
        Session["adep"]= ur ["adep"];
        if (Session["apower"]=="1")
        {

            Response.Redirect("admin1.aspx");
        }
         if (Session["apower"]=="2")
        {
            Response.Redirect("kqmanage.aspx");
        }
         if (Session["apower"]=="3")
        {
            Response.Redirect("lr3.aspx");
        }
        label4.Text = "用户名/密码不正确,请重新输入";
         
     } cn.Close();
将 varchar 值 'admin' 转换为数据类型为 int 的列时发生语法错误。 怎么解决啊,请各位帮帮忙
4 回复
#2
NewDeveloper2010-08-13 16:05
string mysql = "select * from admin where aid='" + tbx_aid.Text + "'and apassword ='" + tbx_apassword.Text + "'";
我感觉 在and前面要加一个空格
Session["apower"]=="1"——》Session["apower"].ToString()=="1"

#3
cnfarer2010-08-13 16:26
aid='" + tbx_aid.Text + "'and -->aid=" + tbx_aid.Text + " and
#4
Issac_abc2010-08-23 14:54
#5
jiasenlin2010-08-23 16:11
当然错了哦. SQL 错了.
select * from admin where aid='" + tbx_aid.Text + "'and apassword ='" + tbx_apassword.Text + "'";
  where aid???? === 自己看清楚哈.
1