将参数分配给SqlDataSource [英] Assign parameter to SqlDataSource
本文介绍了将参数分配给SqlDataSource的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个存储过程,它有2个varchar和4个int参数。我想阅读文本框的内容并过滤SqlDataSource,但是当我将所有参数类型设置为字符串并且我不使用varchar参数时,所有事情都是正确的但是当我添加字符串参数时不起作用;
I have a stored procedure that has 2 varchar and 4 int parameters. I want to read content of textbox and filter SqlDataSource but when I set all of the parameter type to string and I don''t use varchar parameter all the things is right but when I add string parameter do not work;
<SelectParameters>
<asp:Parameter Name="ProviderBranchID" DefaultValue="null" Type="Int32"/>
<asp:Parameter Name="RequestBranchID" DefaultValue="null" Type="Int32"/>
<asp:Parameter Name="CustomerNo" DefaultValue="null" Type="Int32" />
<asp:Parameter Name="BoxesTypeCode" DefaultValue="null" Type="Int32" />
<asp:Parameter Name="BoxesName" DefaultValue="null" Type="String" />
</SelectParameters>
和选择活动背后的代码是......
and code behind in Selecting event is...
temp1 = TextBox1.Text;
temp2 = TextBox2.Text;
temp3 = TextBox5.Text;
temp4 = TextBox6.Text;
temp5 = TextBox4.Text;
temp6 = TextBoxName.Text;
e.Command.Parameters["@RequestBranchID"].Value = Convert.ToInt32(temp1);
e.Command.Parameters["@ProviderBranchID"].Value = Convert.ToInt32(temp2);
e.Command.Parameters["@CustomerNo"].Value = Convert.ToInt32(temp4);
e.Command.Parameters["@BoxesTypeCode"].Value = Convert.ToInt32(temp5);
e.Command.Parameters["@BoxesName"].Value = temp6;
推荐答案
它将String视为Unicode字符。那就是问题所在。在Sql中更改为NVarchar应该没问题。
It consider String as Unicode character. That is the problem. Change to NVarchar in Sql it should go fine.
这篇关于将参数分配给SqlDataSource的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文