2

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

1 に答える 1

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
于 2012-11-29T22:31:12.940 に答える