SqlDataSource.SelectCommand Proprietà

Definizione

Ottiene o imposta la stringa SQL utilizzata dal controllo SqlDataSource per recuperare dati dal database sottostante.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

Valore della proprietà

String

Stringa SQL o nome di una stored procedure utilizzata dal controllo SqlDataSource per recuperare dati.An SQL string or the name of a stored procedure that the SqlDataSource uses to retrieve data.

Esempio

In questa sezione sono riportati due esempi di codice.This section contains two code examples. Nel primo esempio di codice viene illustrato come impostare il SelectCommand testo su una query SQL di base per recuperare dati da un database conforme a ODBC e visualizzarli in un GridView controllo.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. Nel secondo esempio di codice viene illustrato come impostare il SelectCommand testo sul nome di un stored procedure e la SelectCommandType proprietà sul StoredProcedure valore per recuperare i dati da un database Microsoft SQL Server e visualizzarli in un DropDownList controllo.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 entrambi gli esempi, non è necessario chiamare esplicitamente il Select metodo perché i controlli con associazione a dati collegati al controllo origine dati tramite la DataSourceID proprietà chiameranno automaticamente il Select metodo durante la PreRender fase.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.

Nell'esempio di codice riportato di seguito viene illustrato come impostare il SelectCommand testo su una query SQL di base per recuperare dati da un database conforme a ODBC e visualizzarli in un GridView controllo.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>

Nell'esempio di codice seguente viene illustrato come impostare il SelectCommand testo sul nome di un stored procedure e la SelectCommandType proprietà sul StoredProcedure valore per recuperare i dati da un database SQL Server e visualizzarli in un DropDownList controllo.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. La SelectCommand proprietà può essere una query SQL o il nome di un stored procedure, se l'origine dati supporta le stored procedure.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>

Commenti

La SelectCommand proprietà rappresenta una query SQL o il nome di un stored procedure e viene utilizzata dal Select metodo per recuperare i dati da un database SQL Server.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. Se si usa un asterisco (*) nel comando SELECT per selezionare tutte le colonne e si usa la generazione automatica di codice per eseguire operazioni di aggiornamento o eliminazione, assicurarsi che nessuna colonna includa spazi nei rispettivi nomi.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.

Poiché il tipo di SQL utilizzato varia a seconda dei prodotti del database, la sintassi della stringa SQL dipende dal provider ADO.NET attualmente in uso, il quale è identificato dalla proprietà ProviderName.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. Se la stringa SQL è una query o un comando con parametri, anche il segnaposto del parametro dipenderà dal provider ADO.NET in uso.If the SQL string is a parameterized query or command, the placeholder of the parameter also depends on the ADO.NET provider being used. Se, ad esempio, il provider è System.Data.SqlClient , che è il provider predefinito per la SqlDataSource classe, il segnaposto del parametro è '@parameterName' .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'. Tuttavia, se il provider è impostato su System.Data.Odbc o System.Data.OleDb , il segnaposto del parametro è '?' .However, if the provider is set to the System.Data.Odbc or System.Data.OleDb, the placeholder of the parameter is '?'. Per ulteriori informazioni sui comandi e le query SQL con parametri, vedere utilizzo di parametri con il controllo SqlDataSource.For more information about parameterized SQL queries and commands, see Using Parameters with the SqlDataSource Control.

La SelectCommand proprietà può essere una stringa SQL o il nome di un stored procedure, se l'origine dati supporta le stored procedure.The SelectCommand property can be an SQL string or the name of a stored procedure, if the data source supports stored procedures.

La SelectCommand Proprietà delega alla SelectCommand proprietà dell' SqlDataSourceView oggetto associato al SqlDataSource controllo.The SelectCommand property delegates to the SelectCommand property of the SqlDataSourceView object that is associated with the SqlDataSource control.

Importante

Per motivi di sicurezza, la SelectCommand proprietà non è archiviata è lo stato di visualizzazione.For security purposes, the SelectCommand property is not stored is view state. Poiché è possibile decodificare il contenuto dello stato di visualizzazione nel client, l'archiviazione di informazioni riservate sulla struttura del database nello stato di visualizzazione potrebbe causare una vulnerabilità di divulgazione delle informazioni.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.

Importante

I valori vengono inseriti nei parametri senza convalida, che rappresenta una potenziale minaccia per la sicurezza.Values are inserted into parameters without validation, which is a potential security threat. Utilizzare l' Filtering evento per convalidare i valori dei parametri prima di eseguire la query.Use the Filtering event to validate parameter values before executing the query. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.For more information, see Script Exploits Overview.

Si applica a

Vedi anche