2015-03-31 70 views
0
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:GSProjectConnectionString %>" SelectCommand="SELECT * FROM [Table] where Owner like '%@username%' "> 
      <SelectParameters> 
       <asp:Parameter Name="username" Type="String"/> 
      </SelectParameters> 
     </asp:SqlDataSource> 

以上是我的代码,其中我试图使用在.cs文件中定义的变量用户名。在sql数据源中选择参数

它不需要用户名的值。

我哪里错了?

任何想法的人?

+0

好 - 运行 - 它的工作原理? – 2015-03-31 05:16:47

+0

不,它不是。它不需要用户名的价值。 – TRY123 2015-03-31 05:18:45

+0

尝试将SelectCommand更改为SelectCommand =“SELECT * FROM [Table]其中所有者喜欢@username”> – uowzd01 2015-03-31 05:35:48

回答

1

改变它作为

SelectCommand="SELECT * FROM [Table] where Owner like @username 

当您设置的参数值,你可以添加“%%”下面

SqlDataSource1.SelectParameters["username"].DefaultValue = string.Format("%{0}%", paramvalue); 
+0

它的工作原理。谢谢。真是好奇,你是怎么搞清楚的? – TRY123 2015-03-31 05:47:25

+0

@username和'@username'之间有区别,第二个不再是参数,它将视为字符串值。 – Damith 2015-03-31 05:49:15

+0

我明白了.Got it :) – TRY123 2015-03-31 05:51:26