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 verileri almak için kullanan 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 GridView görüntülemek için metnin temel bir SQL sorgusuna nasıl ayarlandığını gösterir. İkinci kod örneği, 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 ayarlandığını gösterir.
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ğırmanız Select gerekmez.
Aşağıdaki 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.
<!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. Tüm sütunları seçmek için Seç komutunda 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, sütunlarda 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 kullanılmakta olan 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 öğesiyse, 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ğine temsilci SelectCommand atarSqlDataSource.
Önemli
Güvenlik amacıyla özelliği SelectCommand depolanmaz görünüm durumudur. İstemcide görüntüleme 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, olası bir güvenlik tehdidi olan doğrulama olmadan parametrelere eklenir. 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ış.