Freigeben über


SqlDataSource.UpdateParameters Eigenschaft

Definition

Ruft die Parameterauflistung mit den Parametern ab, die von der UpdateCommand-Eigenschaft des dem SqlDataSourceView-Steuerelement zugeordneten SqlDataSource-Steuerelements verwendet werden.

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

Eigenschaftswert

Eine ParameterCollection, die die von der UpdateCommand-Eigenschaft verwendeten Parameter enthält.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe eines Steuerelements SqlDataSource Daten in einem DropDownList Steuerelement anzeigen und Daten aktualisieren, wenn auf die Schaltfläche Senden geklickt wird. Wird UpdateCommand mit einer parametrisierten SQL-Anweisung festgelegt, und der UpdateParameters Auflistung werden zwei ControlParameter Parameter hinzugefügt. Wenn auf die Schaltfläche Senden geklickt wird, wird das OnClick Ereignis verarbeitet, um die Update -Methode explizit aufzurufen.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, was eine potenzielle Sicherheitsgefahr darstellt, und Werte werden ohne Validierung in Parameter eingefügt, was auch eine potenzielle Sicherheitsgefahr darstellt. Verwenden Sie das Inserting -Ereignis, um Parameterwerte zu überprüfen, bevor Sie die Abfrage ausführen. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

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

Hinweise

Wenn die UpdateCommand -Eigenschaft eine parametrisierte SQL-Abfrage enthält, enthält die UpdateParameters Auflistung alle Parameter Objekte, die den Parameterplatzhaltern in der SQL-Zeichenfolge entsprechen.

Parameternamen können von der OldValuesParameterFormatString Eigenschaft beeinflusst werden, insbesondere, wenn der Name einen Primärschlüssel identifiziert, z. B. einen Schlüssel, der mithilfe der DataKeyNames -Eigenschaft des datengebundenen Steuerelements angegeben wurde, oder in Lösch- und Aktualisierungsszenarien, in denen die ConflictDetection Eigenschaft auf den CompareAllValues Wert festgelegt ist und ein Satz von oldValues an die entsprechende Datenmethode übergeben wird. In diesem Fall wird die Formatzeichenfolge auf jeden Parameternamen in der oldValues Auflistung angewendet.

Die Reihenfolge der Parameter in der UpdateParameters Auflistung kann abhängig vom ADO.NET Anbieters wichtig sein. Die System.Data.OleDb Anbieter und System.Data.Odbc ordnen die Parameter in der Auflistung entsprechend der Reihenfolge zu, in der die Parameter in der parametrisierten SQL-Abfrage angezeigt werden. Der System.Data.SqlClient Anbieter, der der Standardanbieter ADO.NET für das SqlDataSource Steuerelement ist, ordnet die Parameter in der Auflistung zu, indem er den Namen des Parameters mit einem Platzhalteralias in der SQL-Abfrage abgleicht. Weitere Informationen zu parametrisierten SQL-Abfragen und -Befehlen finden Sie unter Verwenden von Parametern mit dem SqlDataSource-Steuerelement.

Die UpdateParameters -Eigenschaft ruft die UpdateParameters -Eigenschaft ab, die in dem SqlDataSourceView -Objekt enthalten ist, das dem SqlDataSource Steuerelement zugeordnet ist.

Wichtig

Werte werden ohne Validierung in Parameter eingefügt, was ein potenzielles Sicherheitsrisiko darstellt. Verwenden Sie das Filtering -Ereignis, um Parameterwerte zu überprüfen, bevor Sie die Abfrage ausführen. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

Gilt für:

Weitere Informationen