<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="true" DataSourceID="dataSource1">
</asp:GridView>
<asp:SqlDataSource runat="server" ID="dataSource1" SelectCommand="select UserName from aspnet_Users where UserName = COALESCE(@userName,UserName)" ConnectionString="<%$ ConnectionStrings:MySqlProviderConnection %>">
<SelectParameters>
<asp:QueryStringParameter Name="userName" DbType="String" Direction="Input" QueryStringField="userName" DefaultValue="" ConvertEmptyStringToNull="true" />
</SelectParameters>
</asp:SqlDataSource>
以上是我的代码。我想列出所有的用户名,如果默认是一个空字符串。但它不会给我所有用户名的结果。尝试列出所有用户名,如果没有提供userName值。
我在这里错过了什么吗?
如果我在sql server management studio中运行下面的查询,我会得到我期望的结果。
select UserName from aspnet_Users where UserName = COALESCE(null,UserName)
我在这里错过了什么?
Nope NULL未定义。没有什么等于空。所以你的查询永远不会返回。 – Namphibian
NULL与空字符串不同。这是不是很清楚你在这里做什么。您的查询和说明似乎彼此非常不同。 –
那么ConvertEmptyStingToNull = true会在这里做什么?如果我传入一个空字符串,我希望它被视为空.. – psj01