Поделиться через


SqlDataSource.UpdateParameters Свойство

Определение

Возвращает коллекцию, содержащую параметры, используемые свойством UpdateCommand элемента управления SqlDataSourceView, связанного с элементом управления SqlDataSource.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ UpdateParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection UpdateParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.UpdateParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property UpdateParameters As ParameterCollection

Значение свойства

Коллекция ParameterCollection, содержащая параметры, используемые свойством UpdateCommand.

Атрибуты

Примеры

В следующем примере кода показано, как использовать SqlDataSource элемент управления для отображения данных в элементе DropDownList управления и обновления данных при нажатии кнопки Отправить . Задается UpdateCommand с параметризованной инструкцией SQL, и в коллекцию UpdateParameters добавляются два ControlParameter параметра. При нажатии OnClick кнопки Отправить событие обрабатывается для явного Update вызова метода.

Важно!

Этот пример включает текстовое поле, которое принимает введенные пользователем данные, что является потенциальной угрозой безопасности, и значения вставляются в параметры без проверки, что также является потенциальной угрозой безопасности. Используйте событие для Inserting проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
 private void On_Click(Object source, EventArgs e) {
    try {
        SqlDataSource1.Update();
    }
    catch (Exception except) {
        // Handle the Exception.
    }

    Label2.Text="The record was updated successfully!";
 }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

 Sub On_Click(ByVal source As Object, ByVal e As EventArgs)
    Try
        SqlDataSource1.Update()
    Catch except As Exception
        ' Handle the Exception.
    End Try

    Label2.Text="The record was updated successfully!"

 End Sub 'On_Click
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />
    </form>
  </body>
</html>

Комментарии

UpdateCommand Если свойство содержит параметризованный SQL-запрос, UpdateParameters коллекция содержит все Parameter объекты, соответствующие заполнителям параметров в строке SQL.

На имена параметров может влиять OldValuesParameterFormatString свойство, в частности, если имя идентифицирует первичный ключ, например ключ, указанный с помощью DataKeyNames свойства элемента управления с привязкой к данным, или в сценариях удаления и обновления, где ConflictDetection свойству CompareAllValues присваивается значение и набор передается в соответствующий oldValues метод данных. В этом случае строка формата применяется к каждому имени параметра в oldValues коллекции.

Порядок параметров в UpdateParameters коллекции может быть важен в зависимости от поставщика ADO.NET. Поставщики System.Data.OleDb и System.Data.Odbc связывают параметры в коллекции в соответствии с порядком отображения параметров в параметризованном SQL-запросе. Поставщик System.Data.SqlClient , который является поставщиком ADO.NET по умолчанию для SqlDataSource элемента управления, связывает параметры в коллекции, сопоставляя имя параметра с псевдонимом заполнителя в SQL-запросе. Дополнительные сведения о параметризованных запросах и командах SQL см. в разделе Использование параметров с элементом управления SqlDataSource.

Свойство UpdateParameters извлекает UpdateParameters свойство, содержащееся в объекте SqlDataSourceView , связанном с элементом SqlDataSource управления .

Важно!

Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Используйте событие для Filtering проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

Применяется к

См. также раздел