Как указать значение параметра для хранимой процедуры в SqlDataSource - PullRequest
5 голосов
/ 16 марта 2011

Будучи новичком в использовании декларативного синтаксиса SqlDataSource, я пытаюсь найти способ установить значение параметра для хранимой процедуры.У меня есть Client_ID, который передается через объект запроса, и мне нужно установить Client_ID перед выполнением хранимой процедуры SqlDataSource.

У меня есть пара вопросов.

  1. Требуется ли предварительно задавать параметр хранимой процедуры в разметке ASPX или его можно динамически добавлять в коде позади?

  2. У кого-нибудь есть пример, демонстрирующий разметку SqlDataSourceс хранимой процедурой и параметром, а также установкой значения этого параметра в выделенном коде?

Ответы [ 3 ]

9 голосов
/ 07 апреля 2011

С платформой .net 4 вы можете ...

1.Это может быть добавлено динамически, но вы должны будете предоставить свой собственный конструктор выражений кода (дополнительную информацию см. Здесь ) 1.1 Вы также можете использовать другой параметр для достижения той же цели, например:

enter image description here

2

  <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
  ConnectionString="<%$ ConnectionStrings:yourConnectionString %>" 
  SelectCommand="YourStoreProcedure" SelectCommandType="StoredProcedure">
  <SelectParameters>
     <asp:ControlParameter Name="yourParameterName" ControlID="controlThatHoldsParameterValue" PropertyName="Text" />
  </SelectParameters>

3 голосов
/ 18 марта 2011

Это довольно подробный пример использования параметризованных запросов (хранимых процедур и текста) с SqlDataSource, включая программную настройку параметров. ASP.NET - Использование параметризованных запросов с SqlDataSource .

0 голосов
/ 28 января 2013
 <asp:SqlDataSource ID="ADSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ADConnection %>"
    SelectCommand="GetProfile" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter ControlID="InputTextBox" Name="Host" PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

GetProfile - это имя сохраненного процесса, а Host - имя параметра, которое извлекается из текстового поля InputTextBox

...