簡體   English   中英

如果未提供userName值,則嘗試列出所有用戶名。

[英]Trying to list all the usernames if a userName value is not provided.

<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>

以上是我的代碼。 我正在嘗試列出所有用戶名(如果默認值為空字符串)。 但這並不能為我提供所有用戶名的結果。

我在這里想念什么嗎?
如果我在sql server management studio中運行以下查詢,我會得到預期的結果。

select UserName from  aspnet_Users where UserName = COALESCE(null,UserName)

我在這里想念什么?

改用它。

WHERE UserName = @userName or @userName is null

或者,如果@userName空字符串傳遞給@userName

WHERE UserName = @userName or @userName =''

您的最后一個查詢select UserName from aspnet_Users where UserName = COALESCE(null,UserName) ,將返回UserName不為null的所有行,這可能與您想像的不一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM