SqlDataSource.Select(DataSourceSelectArguments) Yöntem
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.
SQL dizesini ve koleksiyondaki SelectCommand parametreleri kullanarak temel alınan veritabanından SelectParameters veri alır.
public:
System::Collections::IEnumerable ^ Select(System::Web::UI::DataSourceSelectArguments ^ arguments);
public System.Collections.IEnumerable Select (System.Web.UI.DataSourceSelectArguments arguments);
member this.Select : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Public Function Select (arguments As DataSourceSelectArguments) As IEnumerable
Parametreler
- arguments
- DataSourceSelectArguments
DataSourceSelectArguments Temel veri alma işleminin ötesinde veriler üzerinde işlem isteğinde bulunmak için kullanılan nesne.
Döndürülenler
Veri IEnumerable satırlarının listesi.
Özel durumlar
Nesnesi, SqlDataSource temel alınan veri kaynağıyla bağlantı kuramıyor.
Örnekler
Aşağıdaki örneklerde, yönteminin program aracılığıyla nasıl çağrıldığı Select ve sorgunun sonucuna göre değerlerin nasıl ayarlanacağı gösterilmektedir. Aşağıdaki örnekte Web denetimleri için bildirim temelli kod gösterilmektedir.
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] > 0)">
</asp:SqlDataSource>
<asp:Label
ID="Label1"
runat="server"
Text="">
</asp:Label>
<br />
<asp:Button
ID="Button1"
Text="Check Reorder Status"
runat="server"
onclick="Button1_Click" />
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] > 0)">
</asp:SqlDataSource>
<asp:Label
ID="Label1"
runat="server"
Text="">
</asp:Label>
<br />
<asp:Button
ID="Button1"
Text="Check Reorder Status"
runat="server"
onclick="Button1_Click" />
Aşağıdaki örnekte yönteminin program aracılığıyla nasıl çağrılacakları gösterilmektedir Select . Denetim SqlDataSource bir tamsayı döndürür. Tamsayı değeri, bir denetimin metnini ayarlamak ve denetimin Label görüntülenip görüntülenmeyeceğini HyperLink belirlemek için kullanılır.
protected void CheckReorderStatus()
{
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
int reorderedProducts = (int)dv.Table.Rows[0][0];
if (reorderedProducts > 0)
{
Label1.Text = "Number of products on reorder: " + reorderedProducts;
}
else
{
Label1.Text = "No products on reorder.";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
CheckReorderStatus();
}
Protected Sub CheckReorderStatus()
Dim dv As DataView
Dim reorderedProducts As Integer
dv = CType(SqlDataSource1.Select(DataSourceSelectArguments.Empty), DataView)
reorderedProducts = CType(dv.Table.Rows(0)(0), Integer)
If (reorderedProducts > 0) Then
Label1.Text = "Number of products on reorder: " & reorderedProducts
Else
Label1.Text = "No products on reorder."
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
CheckReorderStatus()
End Sub
Açıklamalar
yöntemi Select , sayfa yaşam döngüsünün PreRender aşaması sırasında otomatik olarak çağrılır. Özelliği aracılığıyla bir SqlDataSource denetime eklenmiş olan veriye bağlı denetimler DataSourceID tarafından çağrılır.
Select özelliği değere DataSourceModeDataSet ayarlanırsa yöntemi bir DataView nesnesi döndürür. Select özelliği değere DataSourceModeDataReader ayarlanırsa yöntemi bir IDataReader nesnesi döndürür. IDataReader Verileri okumayı bitirdiğinizde nesneyi kapatın.
Select İşlem gerçekleştirilmeden önce, OnSelecting olayı yükseltmek için yöntemi çağrılırSelecting. Parametrelerin değerlerini incelemek ve işlemden önce Select herhangi bir işlem gerçekleştirmek için bu olayı işleyebilirsiniz.
Select İşlem tamamlandıktan sonra, OnSelected olayı yükseltmek için yöntemi çağrılırSelected. Bu olayı işleyerek dönüş değerlerini ve hata kodlarını inceleyebilir ve işlem sonrası işlemleri gerçekleştirebilirsiniz.
DataSourceMode özelliği olarak ayarlanırsa SqlDataSourceMode.DataSet ve önbelleğe alma etkinleştirilirse, SqlDataSource nesne verileri öğesinden alır ve işlem sırasında Select önbelleğe kaydeder. Önbellek, ve CacheExpirationPolicy özelliklerinin birleşimi CacheDuration tarafından belirtilen önbelleğe alma davranışına göre oluşturulur, atılır veya yenilenir.
Önemli
Microsoft Windows kimlik doğrulaması altında istemci kimliğe bürünme özelliğini kullandığınızda, veriler ilk kullanıcı verilere eriştiğinde önbelleğe alınır. Başka bir kullanıcı aynı verileri isterse, veriler önbellekten alınır. Veriler, kullanıcının verilere erişimini doğrulamak için veritabanına başka bir çağrı yapılarak alınmaz. Verilere birden fazla kullanıcının erişmesini bekliyorsanız ve her veri alımının veritabanı için güvenlik yapılandırmaları tarafından doğrulanmasını istiyorsanız, önbelleğe almayı kullanmayın.
DataSourceMode özelliği olarak ayarlanırsa SqlDataSourceMode.DataSet ve bir FilterExpression özellik belirtilmişse, filtre ifadesi sağlanan FilterParameters özelliklerle değerlendirilir ve sonuç filtresi işlem sırasında Select veri listesine uygulanır.
yöntemi, Select denetimle ilişkili nesnenin SqlDataSourceView yöntemini temsil ederSqlDataSource.Select Veri alma işlemi gerçekleştirmek için, SqlDataSourceView metni ve ilişkili SelectParameters değerleri kullanarak SelectCommand bir DbCommand nesnesi oluşturur ve ardından temel alınan veritabanında yürütürDbCommand.
Ö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ış.