Mengkueri himpunan data dalam aplikasi .NET Framework
Catatan
Himpunan data dan kelas terkait adalah teknologi .NET Framework warisan dari awal 2000-an yang memungkinkan aplikasi untuk bekerja dengan data dalam memori saat aplikasi terputus dari database. Teknologi ini sangat berguna untuk aplikasi yang memungkinkan pengguna memodifikasi data dan mempertahankan perubahan kembali ke database. Meskipun himpunan data telah terbukti menjadi teknologi yang sangat sukses, sebaiknya aplikasi .NET baru menggunakan Entity Framework Core. Entity Framework menyediakan cara yang lebih alami untuk bekerja dengan data tabular sebagai model objek, dan memiliki antarmuka pemrograman yang lebih sederhana.
Untuk mencari rekaman tertentu dalam himpunan data, gunakan FindBy
metode pada DataTable, tulis pernyataan foreach Anda sendiri untuk mengulangi koleksi Baris tabel, atau gunakan LINQ ke Himpunan Data.
Sensitivitas kasus himpunan data
Dalam himpunan data, nama tabel dan kolom tidak peka huruf besar/kecil secara default — yaitu, tabel dalam himpunan data yang disebut "Pelanggan" juga dapat disebut sebagai "Pelanggan." Ini cocok dengan konvensi penamaan di banyak database, termasuk SQL Server. Di SQL Server, perilaku default adalah bahwa nama elemen data tidak dapat dibedakan hanya berdasarkan kasus.
Catatan
Tidak seperti himpunan data, dokumen XML peka huruf besar/kecil, sehingga nama elemen data yang ditentukan dalam skema peka huruf besar/kecil. Misalnya, protokol skema memungkinkan skema untuk menentukan tabel yang disebut Customers
dan tabel lain yang disebut customers
. Ini dapat mengakibatkan tabrakan nama ketika skema yang berisi elemen yang berbeda hanya menurut kasus digunakan untuk menghasilkan kelas himpunan data.
Namun, sensitivitas kasus dapat menjadi faktor dalam bagaimana data ditafsirkan dalam himpunan data. Misalnya, jika Anda memfilter data dalam tabel himpunan data, kriteria pencarian mungkin mengembalikan hasil yang berbeda tergantung pada apakah perbandingan peka huruf besar/kecil. Anda dapat mengontrol sensitivitas kasus pemfilteran, pencarian, dan pengurutan dengan mengatur properti himpunan CaseSensitive data. Semua tabel dalam himpunan data mewarisi nilai properti ini secara default. (Anda dapat mengambil alih properti ini untuk setiap tabel individual dengan mengatur properti tabel CaseSensitive .)
Menemukan baris tertentu dalam tabel data
Untuk menemukan baris dalam himpunan data yang ditik dengan nilai kunci utama
Untuk menemukan baris, panggil metode yang ditik
FindBy
dengan kuat yang menggunakan kunci utama tabel.Dalam contoh berikut,
CustomerID
kolom adalah kunciCustomers
utama tabel. Ini berarti bahwa metode yang dihasilkanFindBy
adalahFindByCustomerID
. Contoh menunjukkan cara menetapkan khusus DataRow untuk variabel dengan menggunakan metode yang dihasilkanFindBy
.
Untuk menemukan baris dalam himpunan data yang tidak dititik dengan nilai kunci utama
Find Panggil metode DataRowCollection koleksi, meneruskan kunci primer sebagai parameter.
Contoh berikut menunjukkan cara mendeklarasikan baris baru yang disebut
foundRow
dan menetapkannya nilai Find pengembalian metode. Jika kunci utama ditemukan, konten indeks kolom 1 ditampilkan dalam kotak pesan.
Menemukan baris menurut nilai kolom
Untuk menemukan baris berdasarkan nilai di kolom apa pun
Tabel data dibuat dengan Select metode , yang mengembalikan array DataRowberdasarkan ekspresi yang diteruskan ke Select metode . Untuk informasi selengkapnya tentang membuat ekspresi yang valid, lihat bagian "Sintaks Ekspresi" dari halaman tentang Expression properti .
Contoh berikut menunjukkan cara menggunakan Select metode DataTable untuk menemukan baris tertentu.
Mengakses rekaman terkait
Saat tabel dalam himpunan data terkait, DataRelation objek dapat membuat rekaman terkait tersedia di tabel lain. Misalnya, himpunan data yang berisi Customers
dan Orders
tabel dapat disediakan.
Anda dapat menggunakan DataRelation objek untuk menemukan rekaman terkait dengan memanggil GetChildRows metode DataRow dalam tabel induk. Metode ini mengembalikan array rekaman anak terkait. Atau, Anda dapat memanggil GetParentRow metode DataRow di tabel anak. Metode ini mengembalikan satu DataRow dari tabel induk.
Halaman ini menyediakan contoh menggunakan himpunan data yang ditik. Untuk informasi tentang menavigasi hubungan dalam himpunan data yang tidak dititik, lihat Menavigasi DataRelations.
Catatan
Jika Anda bekerja dalam aplikasi Formulir Windows dan menggunakan fitur pengikatan data untuk menampilkan data, formulir yang dihasilkan desainer mungkin menyediakan fungsionalitas yang cukup untuk aplikasi Anda. Untuk mendapatkan informasi selengkapnya, lihat Mengikat kontrol ke data di Visual Studio. Secara khusus, lihat Hubungan dalam Himpunan Data.
Contoh kode berikut menunjukkan cara menavigasi hubungan naik dan turun dalam himpunan data yang diketik. Contoh kode menggunakan metode FindByPrimaryKey (FindByCustomerID
NorthwindDataSet.OrdersRow
) yang dihasilkan DataRowuntuk menemukan baris yang diinginkan dan mengembalikan rekaman terkait. Contoh mengkompilasi dan menjalankan dengan benar hanya jika Anda memiliki:
Instans himpunan data bernama
NorthwindDataSet
denganCustomers
tabel.Sebuah
Orders
tabel.Hubungan bernama
FK_Orders_Customers
yang berkaitan dengan dua tabel.
Selain itu, kedua tabel perlu diisi dengan data agar rekaman apa pun dikembalikan.
Untuk mengembalikan rekaman turunan dari rekaman induk yang dipilih
GetChildRows Panggil metode baris data tertentu
Customers
, dan kembalikan array baris dariOrders
tabel:
Untuk mengembalikan rekaman induk rekaman anak terpilih
GetParentRow Panggil metode baris data tertentu
Orders
, dan kembalikan satu baris dariCustomers
tabel: