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 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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin