SqlDataSource.SelectCommand Eigenschap

Definitie

Hiermee haalt u de SQL-tekenreeks op die door het SqlDataSource besturingselement wordt gebruikt om gegevens op te halen uit de onderliggende 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

Waarde van eigenschap

Een SQL-tekenreeks of de naam van een opgeslagen procedure die wordt SqlDataSource gebruikt om gegevens op te halen.

Voorbeelden

Deze sectie bevat twee codevoorbeelden. In het eerste codevoorbeeld ziet u hoe u de SelectCommand tekst instelt op een eenvoudige SQL-query om gegevens op te halen uit een ODBC-compatibele database en deze weer te geven in een GridView besturingselement. In het tweede codevoorbeeld ziet u hoe u de SelectCommand tekst instelt op de naam van een opgeslagen procedure en de eigenschap SelectCommandType op de StoredProcedure-waarde om gegevens op te halen uit een Microsoft SQL Server-database en weer te geven in een besturingselement DropDownList.

In beide voorbeelden hoeft u de Select methode niet expliciet aan te roepen, omdat de gegevensgebonden besturingselementen die via de DataSourceID eigenschap aan het besturingselement voor de gegevensbron zijn gekoppeld, automatisch de Select methode aanroepen tijdens de PreRender fase.

In het volgende codevoorbeeld ziet u hoe u de SelectCommand tekst instelt op een eenvoudige SQL-query om gegevens op te halen uit een ODBC-compatibele database en deze weer te geven in een GridView besturingselement.

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

In het volgende codevoorbeeld ziet u hoe u de SelectCommand tekst instelt op de naam van een opgeslagen procedure en de eigenschap SelectCommandType op de StoredProcedure-waarde om gegevens op te halen uit een SQL Server-database en deze weer te geven in een besturingselement DropDownList. De SelectCommand eigenschap kan een SQL-query of de naam van een opgeslagen procedure zijn, als de gegevensbron opgeslagen procedures ondersteunt.

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

Opmerkingen

De eigenschap SelectCommand vertegenwoordigt een SQL-query of de naam van een opgeslagen procedure en wordt gebruikt door de methode Select om gegevens op te halen uit een SQL Server-database. Als u een sterretje (*) gebruikt in de opdracht Selecteren om alle kolommen te selecteren en als u automatische codegeneratie gebruikt om bijwerk- of verwijderbewerkingen uit te voeren, moet u ervoor zorgen dat er geen kolommen in hun namen staan.

Omdat verschillende databaseproducten verschillende soorten SQL gebruiken, is de syntaxis van de SQL-tekenreeks afhankelijk van de huidige ADO.NET provider die wordt gebruikt, die wordt geïdentificeerd door de eigenschap ProviderName. Als de SQL-tekenreeks een geparameteriseerde query of opdracht is, is de tijdelijke aanduiding van de parameter ook afhankelijk van de ADO.NET provider die wordt gebruikt. Als de provider bijvoorbeeld de System.Data.SqlClientstandaardprovider voor de SqlDataSource klasse is, is '@parameterName'de tijdelijke aanduiding van de parameter. Als de provider echter is ingesteld op de System.Data.Odbc of System.Data.OleDb, is de tijdelijke aanduiding van de parameter '?'. Zie Parameters gebruiken met het besturingselement SqlDataSource voor meer informatie over geparameteriseerde SQL-query's en -opdrachten.

De SelectCommand eigenschap kan een SQL-tekenreeks of de naam van een opgeslagen procedure zijn, als de gegevensbron opgeslagen procedures ondersteunt.

De SelectCommand eigenschap wordt gedelegeerd aan de SelectCommand eigenschap van het SqlDataSourceView object dat is gekoppeld aan het SqlDataSource besturingselement.

Important

Voor beveiligingsdoeleinden wordt de SelectCommand eigenschap niet opgeslagen als weergavestatus. Omdat het mogelijk is om de inhoud van de weergavestatus op de client te decoderen, kan het opslaan van gevoelige informatie over de databasestructuur in de weergavestatus leiden tot een beveiligingsprobleem met betrekking tot openbaarmaking van informatie.

Important

Waarden worden ingevoegd in parameters zonder validatie. Dit is een mogelijke beveiligingsrisico. Gebruik de Filtering gebeurtenis om parameterwaarden te valideren voordat u de query uitvoert. Zie Overzicht van Script Exploits voor meer informatie.

Van toepassing op

Zie ook