数据库(表名:TT)
ID    username   password
 1       sa1       123
 2       sa2       123ID:自动编号   
username:varchar
password:varchar前台文本控件:
用户名:txtName
密码:  txtPW后台代码:string n;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "数据库";
n = txtName.Text;
string sql = "select * from TT where username=" + n;
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds, "TT");          -->错误行
...当我输入sa1或sa2、密码点“登陆”时,出现错误:
Invalid column name "sa1"或"sa2"

解决方案 »

  1.   

    无效的列名,检查下SQL语句与数据库列名是否一致
      

  2.   

    string sql = "select * from TT where username='"+Request["txtName"].ToString()+"';
      

  3.   

    将你的语句改成
    string sql = "select * from TT where username='" + n + "'";
    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
    就可以了
      

  4.   

    因为你的登录名中包含非数字字符,所以需要加上单引号'sa1','sa2'
      

  5.   

    string sql = "select * from TT where username='"+Request["txtName"].ToString()+"';
    ---------
    好方法,可以了,爱死你了,同时也谢谢小黑,你的方法还是不行,不过思维是正确的
      

  6.   

    呵呵,拼SQL语句的时候要多注意下单引号的问题