SqlDataSource.Select(DataSourceSelectArguments) Yöntem

Tanım

SQL dizesini ve koleksiyondaki parametreleri kullanarak SelectCommand 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 istemek için kullanılan bir 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 örnekler, yöntemini program aracılığıyla çağırmayı Select ve sorgunun sonucuna göre değerleri ayarlamayı gösterir. 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, 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. Bu, kendi ö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 verileri ö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çta elde edilen filtre işlem sırasında Select veri listesine uygulanır.

yöntemi, Select denetimle ilişkilendirilmiş nesnenin SqlDataSourceView yöntemine temsilci Select atarSqlDataSource. Veri alma işlemi gerçekleştirmek için, SqlDataSourceView metni ve ilişkili SelectParameters değerleri kullanarak SelectCommand bir DbCommand nesne oluşturur ve ardından temel alınan veritabanında yürütürDbCommand.

Önemli

Değerler doğrulama olmadan 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ış.

Şunlara uygulanır

Ayrıca bkz.