SqlDataSource.Select(DataSourceSelectArguments) Yöntem

Tanım

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ış.

Şunlara uygulanır

Ayrıca bkz.