Freigeben über


SqlDataSourceView.SelectCommand Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der SQL-Zeichenfolge, die das SqlDataSourceView Objekt zum Abrufen von Daten aus der zugrunde liegenden Datenbank verwendet.

public:
 property System::String ^ SelectCommand { System::String ^ get(); void set(System::String ^ value); };
public string SelectCommand { get; set; }
member this.SelectCommand : string with get, set
Public Property SelectCommand As String

Eigenschaftswert

Eine SQL-Zeichenfolge, die zum Abrufen von SqlDataSourceView Daten verwendet wird.

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf eine einfache SQL-Abfrage festgelegt wird, um Daten aus einer Microsoft SQL Server-Datenbank abzurufen und in einem DropDownList Steuerelement anzuzeigen. Im zweiten Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf den Namen einer gespeicherten Prozedur festgelegt wird, um Daten aus einer SQL Server-Datenbank abzurufen und in einer DropDownList.

Im folgenden Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf eine einfache SQL-Abfrage festgelegt wird, um Daten aus einer SQL Server-Datenbank abzurufen und in einem DropDownList Steuerelement anzuzeigen. Die Button Steuerelemente TextBox werden als einfache Schnittstelle bereitgestellt, um die Adresse für den ausgewählten Benutzer in der DropDownListDatei zu aktualisieren.

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

Im folgenden Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf den Namen einer gespeicherten Prozedur festgelegt wird, um Daten aus einer SQL Server-Datenbank abzurufen und in einem DropDownList Steuerelement anzuzeigen. Die SelectCommand Eigenschaft kann eine SQL-Abfrage oder der Name einer gespeicherten Prozedur sein, wenn die Datenquelle gespeicherte Prozeduren unterstützt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

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

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommandType="StoredProcedure"                
                SelectCommand="sp_lastnames">
            </asp:SqlDataSource>

            <!--
                The sp_lastnames stored procedure is
                CREATE PROCEDURE sp_lastnames AS
                   SELECT LastName FROM Employees
                GO
            -->

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

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

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

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommandType = "StoredProcedure"
                SelectCommand="sp_lastnames">
            </asp:SqlDataSource>

            <!--
                The sp_lastnames stored procedure is
                CREATE PROCEDURE sp_lastnames AS
                   SELECT LastName FROM Employees
                GO
            -->

        </form>
    </body>
</html>

Hinweise

Da unterschiedliche Datenbankprodukte unterschiedliche SQL-Varianten verwenden, hängt die Syntax der SQL-Zeichenfolge von dem aktuellen ADO.NET verwendeten Anbieter ab, der von der ProviderName Eigenschaft identifiziert wird. Wenn es sich bei der SQL-Zeichenfolge um eine parametrisierte Abfrage oder einen parametrisierten Befehl handelt, hängt der Platzhalter des Parameters auch vom verwendeten ADO.NET Anbieter ab. Wenn der Anbieter beispielsweise der System.Data.SqlClientStandardanbieter für die SqlDataSource Klasse ist, lautet '@parameterName'der Platzhalter des Parameters . Wenn der Anbieter jedoch auf den System.Data.Odbc Oder-Wert System.Data.OleDbfestgelegt ist, lautet '?'der Platzhalter des Parameters . Weitere Informationen zu parametrisierten SQL-Abfragen und -Befehlen finden Sie unter Verwenden von Parametern mit dem SqlDataSource-Steuerelement.

Die SelectCommand Eigenschaft kann eine SQL-Zeichenfolge oder der Name einer gespeicherten Prozedur sein, wenn die Datenquelle gespeicherte Prozeduren unterstützt.

Von Bedeutung

Es ist sicherer, eine gespeicherte Prozedur zu verwenden als eine SQL-Anweisung für die SelectCommand Eigenschaft.

Der Wert der SelectCommand Eigenschaft wird im Ansichtszustand gespeichert.

Gilt für:

Weitere Informationen