SqlDataSource.SelectCommand Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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.
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 ODBC-kompatiblen Datenbank abzurufen und in einem GridView Steuerelement anzuzeigen. 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 und in einem DropDownList Steuerelement anzuzeigen.
In beiden Beispielen ist es nicht erforderlich, die Select -Methode explizit aufzurufen, da die datengebundenen Steuerelemente, die über die -Eigenschaft an das DataSourceID Datenquellensteuerelement angefügt werden, die -Methode während der SelectPreRender Phase automatisch aufrufen.
Im folgenden Codebeispiel wird veranschaulicht, wie Der SelectCommand Text auf eine einfache SQL-Abfrage festgelegt wird, um Daten aus einer ODBC-kompatiblen Datenbank abzurufen und in einem GridView Steuerelement anzuzeigen.
<!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 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
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. Wenn Sie im Befehl Auswählen ein Sternchen (*) verwenden, um alle Spalten auszuwählen, und wenn Sie die automatische Codegenerierung zum Ausführen von Aktualisierungs- oder Löschvorgängen verwenden, stellen Sie sicher, dass keine Spalten Leerzeichen in ihren Namen enthalten.
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. 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. Wenn der Anbieter z. B. der System.Data.SqlClientStandardanbieter für die SqlDataSource -Klasse ist, ist '@parameterName'
der Platzhalter des Parameters . Wenn der Anbieter jedoch auf oder System.Data.OdbcSystem.Data.OleDbfestgelegt ist, ist '?'
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.
Die SelectCommand -Eigenschaft delegiert die SelectCommand Eigenschaft des SqlDataSourceView Objekts, das dem SqlDataSource Steuerelement zugeordnet ist.
Wichtig
Aus Sicherheitsgründen wird die SelectCommand Eigenschaft nicht gespeichert, ist der Ansichtszustand. Da es möglich ist, den Inhalt des Ansichtszustands auf dem Client zu decodieren, kann das Speichern vertraulicher Informationen über die Datenbankstruktur im Ansichtszustand zu einer Sicherheitsanfälligkeit bezüglich der Offenlegung von Informationen führen.
Wichtig
Werte werden ohne Überprüfung in Parameter eingefügt, was eine potenzielle Sicherheitsbedrohung darstellt. Verwenden Sie das Filtering -Ereignis, um Parameterwerte vor dem Ausführen der Abfrage zu überprüfen. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.