将参数分配给SqlDataSource [英] Assign parameter to SqlDataSource

查看:69
本文介绍了将参数分配给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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆