Properti DataSourceMode dari kontrol SqlDataSource menentukan bagaimana data yang diekstraksi dipertahankan.
Nilai default properti DataSourceMode adalah DataSet, yang berarti kumpulan hasil yang diekstrak dari database disimpan dalam objek DataSet di memori server. Jika Anda menggunakan SqlDataSource sebagai sumber data untuk kontrol seperti GridView, dan Anda ingin mengurutkannya di kontrol GridView, Untuk pemrosesan seperti pemfilteran dan paging, properti DataSourceMode dari SqlDataSource harus disetel ke DataSet.
Namun sebaliknya, jika data yang diekstraksi oleh SqlDataSource hanya digunakan sebagai opsi kontrol seperti DropDownList dan ListBox, tanpa pengurutan, pemfilteran, paging, dll., maka properti DataSourceMode dari SqlDataSource harus disetel ke DataReader, sehingga Mengurangi konsumsi sumber daya. Lagi pula, menggunakan DataSet saat ini hanyalah membunuh seekor ayam dengan pisau.
Setelah Anda menyetel properti DataSourceMode ke DataReader, data akan diambil melalui objek IDataReader (yaitu, penunjuk data penerusan dan baca-saja), dan kumpulan hasil tidak akan disimpan dalam memori server.
Jika Anda memiliki pemahaman yang jelas tentang karakteristik dan perbedaan antara model kumpulan data dan model perintah data, saya yakin Anda harus dapat mengetahui kapan harus menggunakan DataSet dan kapan harus menggunakan DataReader.
http://www.cnblogs.com/liminzhang/archive/2006/12/18/595332.html