2014-11-14 2 views
0

asp : SqlDatasource Select 명령의 from 문을 매개 변수화하려고합니다. 나의 현재 명령은 하드 코딩 :SqlDataSource의 문에서 매개 변수화 C# asp.net

<asp:SqlDataSource ID="sdsSPs" runat="server" 
     ConnectionString="<%$ ConnectionStrings:AAPs_DevConnectionString %>" 
     SelectCommand="select SPECIFIC_NAME from @Path.INFORMATION_SCHEMA.ROUTINES where ROUTINE_TYPE = 'Procedure'"> 
     <SelectParameters> 
      <asp:ControlParameter ControlID="lblDB" PropertyName="text" Name="Path" Type="String" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 

의 모든 :

<asp:SqlDataSource ID="sdsSPs" runat="server" 
     ConnectionString="<%$ ConnectionStrings:AAPs_DevConnectionString %>" 
     SelectCommand="select SPECIFIC_NAME from @Path where ROUTINE_TYPE = 'Procedure'"> 
     <SelectParameters> 
      <asp:ControlParameter ControlID="lblDB" PropertyName="text" Name="Path" Type="String" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 

또는 더욱 바람직 이런 식으로 뭔가 될 것이다 :

<asp:SqlDataSource ID="sdsSPs" runat="server" 
    ConnectionString="<%$ ConnectionStrings:AAPs_DevConnectionString %>" 
    SelectCommand="select SPECIFIC_NAME from WIN_Dev.INFORMATION_SCHEMA.ROUTINES where ROUTINE_TYPE = 'Procedure'"> 
</asp:SqlDataSource> 

그러나 좀 더 이런 식으로 뭔가를 찾고 있어요 이러한 시도는 실패로 돌아 왔습니다. 사용자가 선택할 수있는 DB가 무엇인지 미리 알 수있는 방법이 없습니다. 이것을 할 수있는 방법이 있습니까? 그렇다면 무엇입니까? 당신의 도움을 주셔서 감사합니다!

답변

0

당신은 귀하의 요구에 대한

Create Proc Get_From_Dynamic_Table 
@tablename varchar(50) 
as 
begin 
declare @sqlQuery nvarchar(100) 
Set @sqlQuery = 'Select * from '[email protected] 
exec sp_executesql @sqlQuery 
end 

참고 동적 쿼리/프로 시저를 작성 할 수 있습니다 : 코드 테스트하지.