SqlDataSource.SelectCommand Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví řetězec SQL, který SqlDataSource ovládací prvek používá k načtení dat z podkladové databáze.
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
Hodnota vlastnosti
Řetězec SQL nebo název uložené procedury, kterou SqlDataSource nástroj používá k načtení dat.
Příklady
Tato část obsahuje dva příklady kódu. První příklad kódu ukazuje, jak nastavit SelectCommand text na základní dotaz SQL pro načtení dat z databáze kompatibilní s rozhraním ODBC a jejich zobrazení v ovládacím GridView prvku. Druhý příklad kódu ukazuje, jak nastavit SelectCommand text na název uložené procedury a SelectCommandType vlastnost na StoredProcedure hodnotu pro načtení dat z databáze Microsoft SQL Server a jejich zobrazení v ovládacím DropDownList prvku.
V obou příkladech není nutné explicitně volat metoduSelect, protože ovládací prvky vázané na data, které jsou připojeny k ovládacímu prvku zdroje dat prostřednictvím DataSourceID vlastnosti, automaticky volají metodu PreRenderSelect během fáze.
Následující příklad kódu ukazuje, jak nastavit SelectCommand text na základní dotaz SQL pro načtení dat z databáze kompatibilní s rozhraním ODBC a jejich zobrazení v ovládacím GridView prvku.
<!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>
Následující příklad kódu ukazuje, jak nastavit SelectCommand text na název uložené procedury a SelectCommandType vlastnost na StoredProcedure hodnotu pro načtení dat z SQL Server databáze a jejich zobrazení v ovládacím DropDownList prvku. Vlastnost SelectCommand může být dotaz SQL nebo název uložené procedury, pokud zdroj dat podporuje uložené procedury.
<!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>
Poznámky
Vlastnost SelectCommand představuje dotaz SQL nebo název uložené procedury a používá Select ji metoda k načtení dat z SQL Server databáze. Pokud používáte hvězdičku (*) v příkazu Vybrat k výběru všech sloupců a pokud k provádění operací aktualizace nebo odstranění používáte automatické generování kódu, ujistěte se, že žádné sloupce nemají v názvech mezery.
Vzhledem k tomu, že různé databázové produkty používají různé druhy SQL, syntaxe řetězce SQL závisí na aktuálním použitém ProviderName zprostředkovateli ADO.NET, který je identifikován vlastností. Pokud je řetězec SQL parametrizovaný dotaz nebo příkaz, zástupný symbol parametru závisí také na použitém zprostředkovateli ADO.NET. Pokud je System.Data.SqlClientnapříklad zprostředkovatelem , což je výchozí zprostředkovatel pro SqlDataSource třídu, zástupný symbol parametru je '@parameterName'
. Pokud je však zprostředkovatel nastavený na System.Data.Odbc hodnotu nebo System.Data.OleDb, zástupný symbol parametru je '?'
. Další informace o parametrizovaných dotazech a příkazech SQL najdete v tématu Použití parametrů s ovládacím prvku SqlDataSource.
Vlastnost SelectCommand může být řetězec SQL nebo název uložené procedury, pokud zdroj dat podporuje uložené procedury.
Vlastnost SelectCommand deleguje vlastnost SelectCommand objektu SqlDataSourceView , který je přidružen k ovládacímu SqlDataSource prvku.
Důležité
Z bezpečnostních důvodů SelectCommand se vlastnost neukládá jako stav zobrazení. Vzhledem k tomu, že je možné dekódovat obsah stavu zobrazení v klientovi, může ukládání citlivých informací o struktuře databáze ve stavu zobrazení vést k ohrožení zabezpečení zpřístupnění informací.
Důležité
Hodnoty se do parametrů vkládají bez ověření, což představuje potenciální bezpečnostní hrozbu. Událost použijte Filtering k ověření hodnot parametrů před spuštěním dotazu. Další informace najdete v tématu Přehled zneužití skriptů.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro