2012-09-27 4 views
2

나는 원하는 SQL 쿼리 테이블을 변경하려면 asp : QueryStringParameter를 사용하려고합니다. 그러나 시도 할 때 쿼리 문자열 매개 변수를 새 열의 모든 행으로 가져옵니다.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 
관련 문제