2012-09-27 56 views
2

我想使用asp:QueryStringParameter來更改我想要獲取的女巫SQL表列。但是當我嘗試時,我只是將查詢字符串參數作爲新列的每一行。使用查詢字符串參數來選擇asp.net中的列

這是我到目前爲止。

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

您必須動態地建立查詢字符串在後面的代碼中,或者更容易地選擇所有可能的列並更改控件中的可見性。 –

回答

0

你可以使用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 
相關問題