Compartilhar via


SqlDataSource.UpdateParameters Propriedade

Definição

Obtém a coleção de parâmetros que contém os parâmetros usados pela propriedade de UpdateCommand do controle SqlDataSourceView que é associado ao controle 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

Valor da propriedade

Um ParameterCollection que contém os parâmetros usados pela propriedade UpdateCommand.

Atributos

Exemplos

O exemplo de código a seguir demonstra como usar um SqlDataSource controle para exibir dados em um DropDownList controle e atualizar dados quando o botão Enviar é clicado. O UpdateCommand é definido com uma instrução SQL parametrizada e dois ControlParameter parâmetros são adicionados à UpdateParameters coleção. Quando o botão Enviar é clicado, o OnClick evento é tratado para chamar o Update método explicitamente.

Importante

Este exemplo inclui uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança, e os valores são inseridos em parâmetros sem validação, o que também é uma possível ameaça à segurança. Use o Inserting evento para validar valores de parâmetro antes de executar a consulta. Para obter mais informações, consulte Visão geral de explorações de script.

<%@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>

Comentários

Se a UpdateCommand propriedade contiver uma consulta SQL parametrizada, a UpdateParameters coleção conterá quaisquer Parameter objetos que correspondam aos espaços reservados de parâmetro na cadeia de caracteres SQL.

Os nomes de parâmetro podem ser afetados pela OldValuesParameterFormatString propriedade , especificamente se o nome identificar uma chave primária, como uma chave especificada usando a DataKeyNames propriedade do controle associado a dados, ou em cenários de exclusão e atualização em que a ConflictDetection propriedade é definida como o CompareAllValues valor e um conjunto de são passados para o método de oldValues dados correspondente. Nesse caso, a cadeia de caracteres de formato é aplicada a cada nome de parâmetro na oldValues coleção.

A ordem dos parâmetros na UpdateParameters coleção pode ser importante, dependendo do provedor ADO.NET. Os System.Data.OleDb provedores e System.Data.Odbc associam os parâmetros na coleção de acordo com a ordem em que os parâmetros aparecem na consulta SQL parametrizada. O System.Data.SqlClient provedor, que é o provedor de ADO.NET padrão para o SqlDataSource controle, associa os parâmetros na coleção combinando o nome do parâmetro com um alias de espaço reservado na consulta SQL. Para obter mais informações sobre consultas e comandos SQL parametrizados, consulte Usando parâmetros com o controle SqlDataSource.

A UpdateParameters propriedade recupera a UpdateParameters propriedade contida pelo SqlDataSourceView objeto associado ao SqlDataSource controle .

Importante

Os valores são inseridos em parâmetros sem validação, o que é uma possível ameaça à segurança. Use o Filtering evento para validar valores de parâmetro antes de executar a consulta. Para obter mais informações, consulte Visão geral de explorações de script.

Aplica-se a

Confira também