很简单的一个问题
我的存储过程有一个@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:
问题点数:20、回复次数:8Top
1 楼xiahouwen(武眉博<活靶子.NET>)回复于 2005-08-02 16:55:43 得分 0
列名 'xiao' 无效。列名 'xiao' 无效。
你的SQL语句不正确 表内没有xiao这个列
Top
2 楼ChinaLyp(刀客陆)回复于 2005-08-02 17:07:27 得分 10
哥们,你这么写吧:
myCommand.Parameter.Add("@Name",SqlDbType.varchar,300);
myCommand.Parameters["@Name"].Value=txtName.Text.Trim();
肯定就没错了.
或者最简单的:myCommand.Parameter.Add("@Name",txtName.Text.Trim());
Top
3 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-02 17:07:48 得分 0
有的,我在查询分析器里 exec pro_search 'name=''xiao'''时就可以找出来,
是不是少两个单引号,怎么写进去呀Top
4 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-02 17:11:01 得分 0
我发帖时不小心少打了几个字母,paraCondition.value里的value漏了Top
5 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-02 17:18:49 得分 0
ggjj
upTop
6 楼wula0010(wula0010)回复于 2005-08-02 18:29:49 得分 10
paraCondition = "Name ='"+txtName.Text.Trim()+"'";
试试Top
7 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-03 10:04:51 得分 0
我把"Name = '"+txtName.Text.Trim()+"'"打印出来显示的是Name = xiao
但是在查询分析器里要输入Name = 'xiao'这样才不会报错吧,那两单引号怎么弄Top
8 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-03 10:10:26 得分 0
不好意思,是我弄错了Top




