【问题标题】:Using Query String Parameter to Select Column in asp.net在 asp.net 中使用查询字符串参数选择列
【发布时间】:2012-09-19 13:35:36
【问题描述】:

我正在尝试使用 asp:QueryStringParameter 来更改我想要获取的女巫 SQL 表列。但是当我尝试时,我只是将查询字符串参数作为新列的每一行。

这是我目前所拥有的。

<asp:SqlDataSource ID="getContact" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>" 
    ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>" 
    SelectCommand="
        SELECT 
            [fName], 
            [lName], 
            @c as contact    
        FROM 
            RidesMaster 
        WHERE 
            [userID] = @ID">
    <SelectParameters>
        <asp:QueryStringParameter Name="c" QueryStringField="c" Type="String" />
        <asp:QueryStringParameter Name="ID" QueryStringField="ID" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

【问题讨论】:

  • 您必须在后面的代码中动态构建查询字符串,或者更简单的是,选择所有可能的列并更改控件中的可见性。

标签: asp.net sql querystringparameter


【解决方案1】:

只要您的动态列属于同一类型或可以转换为同一类型,您就可以使用 CASE 语句来实现:

SELECT 
  [fName], 
  [lName],
  CASE @c
    WHEN 'column1' THEN [column1]
    WHEN 'column2' THEN [column2]
    WHEN 'column3' THEN [column3]
    ELSE 'column4'
    END as contact    
FROM 
  RidesMaster 
WHERE 
  [userID] = @ID

【讨论】:

    猜你喜欢
    • 2012-08-05
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2013-11-25
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多