SqlDataSource.SelectCommand Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Denetimin temel alınan veritabanından SqlDataSource veri almak için kullandığı SQL dizesini alır veya ayarlar.
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
Özellik Değeri
Bir SQL dizesi veya verilerin alınması için kullanılan saklı yordamın SqlDataSource adı.
Örnekler
Bu bölüm iki kod örneği içerir. İlk kod örneği, ODBC uyumlu bir veritabanından SelectCommand veri almak ve bir denetimde görüntülemek için metnin temel bir SQL sorgusuna GridView nasıl ayarlandığını gösterir. İkinci kod örneğinde, bir Microsoft SQL Server veritabanından SelectCommand veri almak ve SelectCommandType bir denetimde DropDownList görüntülemek için metnin saklı yordamın adına ve özelliğinin StoredProcedure değere nasıl ayarlanacağı gösterilmektedir.
Her iki örnekte de, özellik aracılığıyla DataSourceID veri kaynağı denetimine eklenen veriye bağlı denetimler aşama sırasında PreRender yöntemi otomatik olarak çağıracağından yöntemini açıkça Select çağırmaya Select gerek yoktur.
Aşağıdaki kod örneğinde, ODBC uyumlu bir veritabanından SelectCommand veri almak ve bir denetimde görüntülemek için metnin temel bir SQL sorgusuna GridView nasıl ayarlanacağı gösterilmektedir.
<!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>
Aşağıdaki kod örneği, bir SQL Server veritabanından SelectCommand veri almak ve SelectCommandType bir denetimde DropDownList görüntülemek için metnin saklı yordamın adına ve özelliğinin StoredProcedure değere nasıl ayarlandığını gösterir. SelectCommand Veri kaynağı saklı yordamları destekliyorsa özelliği bir SQL sorgusu veya saklı yordamın adı olabilir.
<!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>
Açıklamalar
SelectCommand özelliği bir SQL sorgusunu veya saklı yordamın adını temsil eder ve yöntemi tarafından SQL Server veritabanından Select veri almak için kullanılır. Seç komutunda tüm sütunları seçmek için yıldız işareti (*) kullanıyorsanız ve güncelleştirme veya silme işlemlerini gerçekleştirmek için otomatik kod oluşturma kullanıyorsanız, adlarında boşluk olmadığından emin olun.
Farklı veritabanı ürünleri farklı SQL türleri kullandığından, SQL dizesinin söz dizimi, özelliği tarafından tanımlanan geçerli ADO.NET sağlayıcısına ProviderName bağlıdır. SQL dizesi parametreli bir sorgu veya komutsa, parametrenin yer tutucusu kullanılan ADO.NET sağlayıcısına da bağlıdır. Örneğin, sağlayıcı System.Data.SqlClientsınıfı için SqlDataSource varsayılan sağlayıcı olan ise parametresinin yer tutucusu olur '@parameterName'. Ancak sağlayıcı veya System.Data.OleDbolarak ayarlanırsa System.Data.Odbc parametresinin yer tutucusu olur'?'. Parametreli SQL sorguları ve komutları hakkında daha fazla bilgi için bkz. SqlDataSource Denetimi ile Parametreleri Kullanma.
SelectCommand Veri kaynağı saklı yordamları destekliyorsa özelliği bir SQL dizesi veya saklı yordamın adı olabilir.
özelliği, SelectCommand denetimle ilişkili nesnenin SqlDataSourceView özelliğini temsil ederSqlDataSource.SelectCommand
Önemli
Güvenlik amacıyla özelliği SelectCommand depolanmaz görünüm durumudur. İstemcide görünüm durumunun içeriğinin kodunu çözmek mümkün olduğundan, veritabanı yapısı hakkındaki hassas bilgilerin görünüm durumunda depolanması, bilgilerin açığa çıkmasıyla ilgili bir güvenlik açığına neden olabilir.
Önemli
Değerler doğrulama yapılmadan parametrelere eklenir ve bu da olası bir güvenlik tehdididir. Sorguyu Filtering yürütmeden önce parametre değerlerini doğrulamak için olayını kullanın. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.