SqlDataSource.Select(DataSourceSelectArguments) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengambil data dari database yang mendasar dengan menggunakan SelectCommand string SQL dan parameter apa pun yang ada dalam SelectParameters koleksi.
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
Parameter
- arguments
- DataSourceSelectArguments
Objek DataSourceSelectArguments yang digunakan untuk meminta operasi pada data di luar pengambilan data dasar.
Mengembalikan
Daftar IEnumerable baris data.
Pengecualian
Objek SqlDataSource tidak dapat membuat koneksi dengan sumber data yang mendasar.
Contoh
Contoh berikut menunjukkan cara memanggil Select metode secara terprogram dan mengatur nilai berdasarkan hasil kueri. Contoh berikut menunjukkan kode deklaratif untuk kontrol Web.
<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" />
Contoh berikut menunjukkan cara memanggil Select metode secara terprogram. Kontrol SqlDataSource mengembalikan bilangan bulat. Nilai bilangan bulat digunakan untuk mengatur teks Label kontrol dan untuk menentukan apakah akan menampilkan HyperLink kontrol.
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
Keterangan
Metode Select ini secara otomatis dipanggil selama PreRender fase siklus hidup halaman. Ini dipanggil oleh kontrol terikat data yang telah dilampirkan ke SqlDataSource kontrol melalui properti mereka DataSourceID .
Metode Select mengembalikan DataView objek jika DataSourceMode properti diatur ke DataSet nilai . Metode Select mengembalikan IDataReader objek jika DataSourceMode properti diatur ke DataReader nilai . IDataReader Tutup objek setelah Anda selesai membaca data.
Select Sebelum operasi dilakukan, metode dipanggil OnSelecting untuk menaikkan Selecting peristiwa. Anda dapat menangani peristiwa ini untuk memeriksa nilai parameter dan melakukan pemrosesan apa pun sebelum Select operasi.
Select Setelah operasi selesai, OnSelected metode dipanggil untuk menaikkan Selected peristiwa. Anda dapat menangani peristiwa ini untuk memeriksa nilai pengembalian dan kode kesalahan apa pun dan untuk melakukan pasca-pemrosesan.
DataSourceMode Jika properti diatur ke SqlDataSourceMode.DataSet dan penembolokan diaktifkan, SqlDataSource objek mengambil data dari dan menyimpan data ke cache selama Select operasi. Cache dibuat, dibuang, atau disegarkan berdasarkan perilaku penembolokan yang ditentukan oleh kombinasi CacheDuration properti dan CacheExpirationPolicy .
Penting
Saat Anda menggunakan peniruan klien di bawah autentikasi Microsoft Windows, data di-cache saat pengguna pertama mengakses data. Jika pengguna lain meminta data yang sama, data diambil dari cache. Data tidak diambil dengan melakukan panggilan lain ke database untuk memverifikasi akses pengguna ke data. Jika Anda mengharapkan lebih dari satu pengguna mengakses data, dan Anda ingin setiap pengambilan data diverifikasi oleh konfigurasi keamanan untuk database, jangan gunakan penembolokan.
DataSourceMode Jika properti diatur ke SqlDataSourceMode.DataSet dan FilterExpression properti telah ditentukan, ekspresi filter dievaluasi dengan properti yang disediakan FilterParameters dan filter yang dihasilkan diterapkan ke daftar data selama Select operasi.
Metode Select ini mendelegasikan ke Select metode SqlDataSourceView objek yang terkait dengan SqlDataSource kontrol. Untuk melakukan operasi pengambilan data, SqlDataSourceView menyusun DbCommand objek dengan menggunakan SelectCommand teks dan nilai terkait SelectParameters , lalu menjalankan terhadap database yang mendasar DbCommand .
Penting
Nilai dimasukkan ke dalam parameter tanpa validasi, yang merupakan potensi ancaman keamanan. Filtering Gunakan peristiwa untuk memvalidasi nilai parameter sebelum menjalankan kueri. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.