SqlDataSource.SelectCommand Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает SQL-строку, используемую элементом управления SqlDataSource для извлечения данных из основной базы данных.
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
Значение свойства
SQL-строка или имя хранимой процедуры, используемые элементом управления SqlDataSource для извлечения данных.
Примеры
Этот раздел содержит два примера кода. В первом примере кода показано, как задать SelectCommand для текста базовый SQL-запрос, чтобы получить данные из базы данных, совместимой с ODBC, и отобразить их в элементе GridView управления . Во втором примере кода показано, как задать SelectCommand для текста имя хранимой процедуры, а для SelectCommandType свойства StoredProcedure значение , чтобы получить данные из базы данных Microsoft SQL Server и отобразить их в элементе DropDownList управления .
В обоих примерах нет необходимости явно вызывать Select метод , так как элементы управления с привязкой к данным, присоединенные к элементу управления источником данных с помощью DataSourceID свойства , будут автоматически вызывать Select метод на этапе PreRender .
В следующем примере кода показано, как задать SelectCommand для текста базовый SQL-запрос, чтобы получить данные из базы данных, совместимой с ODBC, и отобразить их в элементе GridView управления .
<!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>
В следующем примере кода показано, как задать SelectCommand для текста имя хранимой процедуры, а SelectCommandType для свойства StoredProcedure значение , чтобы получить данные из базы данных SQL Server и отобразить их в элементе DropDownList управления . Свойство SelectCommand может быть SQL-запросом или именем хранимой процедуры, если источник данных поддерживает хранимые процедуры.
<!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>
Комментарии
Свойство SelectCommand представляет SQL-запрос или имя хранимой процедуры и используется методом Select для получения данных из базы данных SQL Server. Если вы используете звездочку (*) в команде Select для выбора всех столбцов и используете автоматическое создание кода для выполнения операций обновления или удаления, убедитесь, что в именах столбцов нет пробелов.
Различные системы баз данных используют различные диалекты SQL, поэтому синтаксис строки SQL зависит от используемого в данный момент поставщика ADO.NET, который определяется свойством ProviderName. Если строка SQL представляет собой параметризованный запрос или команду, заполнитель параметра также зависит от используемого поставщика ADO.NET. Например, если поставщиком является System.Data.SqlClient, который является поставщиком по умолчанию для SqlDataSource класса, заполнитель параметра — '@parameterName'
. Однако если для поставщика задано System.Data.Odbc значение или System.Data.OleDb, заполнителем параметра является '?'
. Дополнительные сведения о параметризованных запросах и командах SQL см. в статье Использование параметров с элементом управления SqlDataSource.
Свойство SelectCommand может быть строкой SQL или именем хранимой процедуры, если источник данных поддерживает хранимые процедуры.
Свойство SelectCommand делегирует SelectCommand свойство объекта , связанного SqlDataSourceView с элементом SqlDataSource управления .
Важно!
В целях SelectCommand безопасности свойство не хранится в состоянии просмотра. Так как на клиенте можно декодировать содержимое состояния представления, хранение конфиденциальных сведений о структуре базы данных в состоянии представления может привести к уязвимости к раскрытию информации.
Важно!
Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Используйте событие для Filtering проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.