SqlDataSource.SelectCommand Eigenschaft

Definition

Ruft die SQL-Zeichenfolge ab, die vom SqlDataSource-Steuerelement zum Abrufen von Daten aus der zugrunde liegenden Datenbank verwendet wird, oder legt diese Zeichenfolge fest.Gets or sets the SQL string that the SqlDataSource control uses to retrieve data from the underlying database.

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 oder der Name einer gespeicherten Prozedur mit der die SqlDataSource Daten abruft.An SQL string or the name of a stored procedure that the SqlDataSource uses to retrieve data.

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele.This section contains two code examples. Im ersten Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf eine einfache SQL-Abfrage festgelegt wird, um Daten aus einer ODBC-kompatiblen Datenbank abzurufen GridView und in einem-Steuerelement anzuzeigen.The first code example demonstrates how to set the SelectCommand text to a basic SQL query to retrieve data from an ODBC-compliant database and display it in a GridView control. Im zweiten Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf den Namen einer gespeicherten Prozedur und die SelectCommandType -Eigenschaft auf den StoredProcedure -Wert festgelegt wird, um Daten aus einer Microsoft SQL Server Datenbank abzurufen DropDownList und in einem-Steuerelement anzuzeigen.The second code example demonstrates how to set the SelectCommand text to the name of a stored procedure and the SelectCommandType property to the StoredProcedure value to retrieve data from a Microsoft SQL Server database and display it in a DropDownList control.

In beiden Beispielen muss die Select -Methode nicht explizit aufgerufen werden, da die Daten gebundenen Steuerelemente, die über die DataSourceID -Eigenschaft an das Datenquellen Steuerelement angefügt werden, Select die-Methode automatisch während des PreRender Phase:In both examples, there is no need to explicitly call the Select method because the data-bound controls that are attached to the data source control through the DataSourceID property will automatically call the Select method during the PreRender phase.

Im folgenden Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf eine einfache SQL-Abfrage festgelegt wird, um Daten aus einer ODBC-kompatiblen Datenbank abzurufen GridView und in einem-Steuerelement anzuzeigen.The following code example demonstrates how to set the SelectCommand text to a basic SQL query to retrieve data from an ODBC-compliant database and display it in a GridView control.

<!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>
    <!-- This example uses a Northwind database that is hosted by an ODBC-compliant
         database. To run this sample, create an ODBC DSN to any database that hosts
         the Northwind database, including Microsoft SQL Server or Microsoft Access,
         change the name of the DSN in the ConnectionString, and view the page.
    -->

    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ProviderName="System.Data.Odbc"
          DataSourceMode="DataSet"
          ConnectionString="dsn=myodbc3dsn;"
          SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </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">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <!-- This example uses a Northwind database that is hosted by an ODBC-compliant
         database. To run this sample, create an ODBC DSN to any database that hosts
         the Northwind database, including Microsoft SQL Server or Microsoft Access,
         change the name of the DSN in the ConnectionString, and view the page.
    -->
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ProviderName="System.Data.Odbc"
          DataSourceMode="DataSet"
          ConnectionString="dsn=myodbc3dsn;"
          SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

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

Im folgenden Codebeispiel wird veranschaulicht, wie der SelectCommand Text auf den Namen einer gespeicherten Prozedur und die SelectCommandType -Eigenschaft auf den StoredProcedure -Wert festgelegt wird, um Daten aus einer SQL Server Datenbank abzurufen DropDownList und in einem-Steuerelement anzuzeigen.The following code example demonstrates how to set the SelectCommand text to the name of a stored procedure and the SelectCommandType property to the StoredProcedure value to retrieve data from a SQL Server database and display it in a DropDownList control. Bei SelectCommand der-Eigenschaft kann es sich um eine SQL-Abfrage oder den Namen einer gespeicherten Prozedur handeln, wenn die Datenquelle gespeicherte Prozeduren unterstützt.The SelectCommand property can be an SQL query or the name of a stored procedure, if the data source supports stored procedures.

<!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

Die SelectCommand -Eigenschaft stellt eine SQL-Abfrage oder den Namen einer gespeicherten Prozedur dar und wird von der Select -Methode verwendet, um Daten aus einer SQL Server Datenbank abzurufen.The SelectCommand property represents an SQL query or the name of a stored procedure, and is used by the Select method to retrieve data from a SQL Server database. Wenn Sie im SELECT-Befehl ein Sternchen (*) verwenden, um alle Spalten auszuwählen, und wenn Sie die automatische Codegenerierung verwenden, um Aktualisierungs-oder Löschvorgänge auszuführen, stellen Sie sicher, dass keine Spalten Leerzeichen enthalten.If you use an asterisk (*) in the Select command to select all columns, and if you use automatic code generation to perform update or delete operations, make sure that no columns have spaces in their names.

Da die jeweiligen Datenbankprodukte verschiedene SQL-Varianten verwenden, hängt die Syntax der SQL-Zeichenfolge vom derzeit verwendeten ADO.NET-Anbieter ab, der durch die ProviderName-Eigenschaft identifiziert wird.Because different database products use different varieties of SQL, the syntax of the SQL string depends on the current ADO.NET provider being used, which is identified by the ProviderName property. Wenn die SQL-Zeichenfolge eine parametrisierte Abfrage oder ein parametrisierter Befehl ist, hängt der Platzhalter des Parameters ebenfalls vom verwendeten ADO.NET-Anbieter ab.If the SQL string is a parameterized query or command, the placeholder of the parameter also depends on the ADO.NET provider being used. Wenn der Anbieter System.Data.SqlClientz. b. der-Standardanbieter für die SqlDataSource -Klasse ist, ist '@parameterName'der Platzhalter des-Parameters.For example, if the provider is the System.Data.SqlClient, which is the default provider for the SqlDataSource class, the placeholder of the parameter is '@parameterName'. Wenn der Anbieter jedoch auf System.Data.Odbc oder System.Data.OleDbfestgelegt ist, ist '?'der Platzhalter des-Parameters.However, if the provider is set to the System.Data.Odbc or System.Data.OleDb, the placeholder of the parameter is '?'. Weitere Informationen über parametrisierte SQL-Abfragen und-Befehle finden Sie unter Verwenden von Parametern mit dem SqlDataSource-SteuerElement.For more information about parameterized SQL queries and commands, see Using Parameters with the SqlDataSource Control.

Bei SelectCommand der-Eigenschaft kann es sich um eine SQL-Zeichenfolge oder den Namen einer gespeicherten Prozedur handeln, wenn die Datenquelle gespeicherte Prozeduren unterstützt.The SelectCommand property can be an SQL string or the name of a stored procedure, if the data source supports stored procedures.

Die SelectCommand -Eigenschaft delegiert an SelectCommand die-Eigenschaft SqlDataSourceView des-Objekts, das dem SqlDataSource -Steuerelement zugeordnet ist.The SelectCommand property delegates to the SelectCommand property of the SqlDataSourceView object that is associated with the SqlDataSource control.

Wichtig

Aus Sicherheitsgründen wird die SelectCommand -Eigenschaft nicht im Ansichts Zustand gespeichert.For security purposes, the SelectCommand property is not stored is view state. Da es möglich ist, den Inhalt des Ansichts Zustands auf dem Client zu decodieren, kann das Speichern sensibler Informationen über die Datenbankstruktur im Ansichts Zustand zu einem Sicherheitsrisiko bei der Offenlegung von Informationen führen.Because it is possible to decode the contents of view state on the client, storing sensitive information about the database structure in view state could result in an information disclosure vulnerability.

Wichtig

Werte werden ohne Validierung in Parameter eingefügt, was ein potenzielles Sicherheitsrisiko darstellt.Values are inserted into parameters without validation, which is a potential security threat. Verwenden Sie Filtering das-Ereignis, um Parameterwerte vor dem Ausführen der Abfrage zu überprüfen.Use the Filtering event to validate parameter values before executing the query. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.For more information, see Script Exploits Overview.

Gilt für:

Siehe auch