我的存储过程有一个@condition参数,查询的条件SqlParameter paraCondition = new SqlParameter("@condition",SqlDbType.varchar,300);
paraCondition = "Name ="+txtName.Text.Trim();
myCommand.Parameter.Add(paraCondition);输入框txtName里的值为xiao
怎么报错
列名 'xiao' 无效。列名 'xiao' 无效。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 列名 'xiao' 无效。列名 'xiao' 无效。源错误: 
行 167:
行 168: myConnection.Open();
行 169: myCommand.ExecuteNonQuery();
行 170: myConnection.Close();
行 171:
 

解决方案 »

  1.   

    列名 'xiao' 无效。列名 'xiao' 无效。你的SQL语句不正确 表内没有xiao这个列
      

  2.   

    哥们,你这么写吧:
    myCommand.Parameter.Add("@Name",SqlDbType.varchar,300);
    myCommand.Parameters["@Name"].Value=txtName.Text.Trim();
    肯定就没错了.
    或者最简单的:myCommand.Parameter.Add("@Name",txtName.Text.Trim());
      

  3.   

    有的,我在查询分析器里 exec pro_search 'name=''xiao'''时就可以找出来,
    是不是少两个单引号,怎么写进去呀
      

  4.   

    我发帖时不小心少打了几个字母,paraCondition.value里的value漏了
      

  5.   

    paraCondition = "Name ='"+txtName.Text.Trim()+"'";
    试试
      

  6.   

    我把"Name = '"+txtName.Text.Trim()+"'"打印出来显示的是Name = xiao
    但是在查询分析器里要输入Name = 'xiao'这样才不会报错吧,那两单引号怎么弄