.NET Framework uygulamalarında veri kümelerini sorgulama
Not
Veri kümeleri ve ilgili sınıflar, uygulamaların veritabanıyla bağlantısı kesilirken uygulamaların bellekteki verilerle çalışmasını sağlayan 2000'lerin başlarındaki eski .NET Framework teknolojileridir. Teknolojiler özellikle kullanıcıların verileri değiştirmesine ve değişiklikleri veritabanında kalıcı hale getirebilmesine olanak tanıyan uygulamalar için kullanışlıdır. Veri kümelerinin çok başarılı bir teknoloji olduğu kanıtlanmış olsa da, yeni .NET uygulamalarının Entity Framework Core kullanmasını öneririz. Entity Framework, tablosal verilerle nesne modelleri olarak çalışmak için daha doğal bir yol sağlar ve daha basit bir programlama arabirimine sahiptir.
Veri kümesindeki belirli kayıtları aramak için DataTable'daki yöntemini kullanınFindBy
, tablonun Rows koleksiyonunda döngü yapmak için kendi foreach deyiminizi yazın veya LINQ to DataSet kullanın.
Veri kümesi büyük/küçük harf duyarlılığı
Bir veri kümesinde tablo ve sütun adları varsayılan olarak büyük/küçük harfe duyarlı değildir; diğer bir deyişle, "Müşteriler" adlı bir veri kümesindeki tabloya "Müşteriler" de denir. Bu, SQL Server dahil olmak üzere birçok veritabanındaki adlandırma kurallarıyla eşleşir. SQL Server'da varsayılan davranış, veri öğelerinin adlarının yalnızca büyük/küçük harfle ayırt edilememesidir.
Not
Veri kümelerinden farklı olarak, XML belgeleri büyük/küçük harfe duyarlıdır, bu nedenle şemalarda tanımlanan veri öğelerinin adları büyük/küçük harfe duyarlıdır. Örneğin, şema protokolü şemanın adlı bir tablo ve adlı Customers
customers
farklı bir tablo tanımlamasına izin verir. Bu, veri kümesi sınıfı oluşturmak için yalnızca büyük/küçük harfe göre farklılık gösteren öğeler içeren bir şema kullanıldığında ad çakışmalarına neden olabilir.
Ancak büyük/küçük harf duyarlılığı, verilerin veri kümesi içinde yorumlanmasında bir faktör olabilir. Örneğin, bir veri kümesi tablosundaki verileri filtrelerseniz, karşılaştırmanın büyük/küçük harfe duyarlı olup olmadığına bağlı olarak arama ölçütleri farklı sonuçlar döndürebilir. Veri kümesinin CaseSensitive özelliğini ayarlayarak filtreleme, arama ve sıralamanın büyük/küçük harf duyarlılığını denetleyebilirsiniz. Veri kümesindeki tüm tablolar varsayılan olarak bu özelliğin değerini devralır. (Tablonun özelliğini ayarlayarak CaseSensitive her tablo için bu özelliği geçersiz kılabilirsiniz.)
Veri tablosunda belirli bir satırı bulma
Yazılan veri kümesinde birincil anahtar değerine sahip bir satır bulmak için
Bir satırı bulmak için tablonun birincil anahtarını kullanan kesin olarak belirlenmiş
FindBy
yöntemi çağırın.Aşağıdaki örnekte sütun,
CustomerID
tablonun birincil anahtarıdırCustomers
. Bu, oluşturulanFindBy
yöntemin olduğuFindByCustomerID
anlamına gelir. Örnekte, oluşturulanFindBy
yöntemi kullanarak bir değişkene belirli DataRow bir değişkenin nasıl atandığı gösterilmektedir.
Yazılmamış bir veri kümesinde birincil anahtar değerine sahip bir satır bulmak için
Find Birincil anahtarı parametre olarak geçirerek bir DataRowCollection koleksiyonun yöntemini çağırın.
Aşağıdaki örnekte, adlı
foundRow
yeni bir satırın nasıl bildirilip yöntemin dönüş değerinin ataneceği gösterilmektedir Find . Birincil anahtar bulunursa, sütun dizini 1'in içeriği bir ileti kutusunda görüntülenir.
Sütun değerlerine göre satırları bulma
Herhangi bir sütundaki değerleri temel alan satırları bulmak için
Veri tabloları yöntemiyle Select oluşturulur ve yönteme Select geçirilen ifadeyi temel alan bir s dizisi DataRowdöndürür. Geçerli ifadeler oluşturma hakkında daha fazla bilgi için, özellik hakkındaki Expression sayfanın "İfade Sözdizimi" bölümüne bakın.
Aşağıdaki örnekte, belirli satırları bulmak için yönteminin nasıl kullanılacağı Select gösterilmektedir DataTable .
İlgili kayıtlara erişme
Bir veri kümesindeki tablolar ilişkili olduğunda, bir DataRelation nesne ilgili kayıtları başka bir tabloda kullanılabilir hale getirebilir. Örneğin, ve Orders
tablolarını içeren Customers
bir veri kümesi kullanılabilir hale getirilebilir.
Üst tablodaki yöntemini DataRelation çağırarak GetChildRows ilgili kayıtları bulmak için bir DataRow nesnesi kullanabilirsiniz. Bu yöntem, ilgili alt kayıtların bir dizisini döndürür. Alternatif olarak, alt tabloda yöntemini DataRow çağırabilirsinizGetParentRow. Bu yöntem üst tablodan tek DataRow bir döndürür.
Bu sayfa, yazılan veri kümelerini kullanan örnekler sağlar. Yazılmamış veri kümelerinde ilişkilerde gezinme hakkında bilgi için bkz . DataRelations'ta Gezinme.
Not
Bir Windows Forms uygulamasında çalışıyor ve verileri görüntülemek için veri bağlama özelliklerini kullanıyorsanız tasarımcı tarafından oluşturulan form uygulamanız için yeterli işlevselliği sağlayabilir. Daha fazla bilgi için bkz . Visual Studio'da verilere denetim bağlama. Özellikle, bkz . Veri Kümelerindeki İlişkiler.
Aşağıdaki kod örnekleri, yazılan veri kümelerinde yukarı ve aşağı ilişkilerde gezinmeyi göstermektedir. Kod örnekleri, istenen satırı bulmak ve ilgili kayıtları döndürmek için yazılan DataRow(NorthwindDataSet.OrdersRow
) ve oluşturulan FindByPrimaryKey (FindByCustomerID
) yöntemlerini kullanır. Örnekler yalnızca aşağıdakilere sahipseniz doğru derlenip çalıştırılır:
Adlı
NorthwindDataSet
bir veri kümesinin tabloyla birCustomers
örneği.Bir
Orders
tablo.İki tabloyla ilişkili adlı
FK_Orders_Customers
ilişki.
Ayrıca, döndürülecek kayıtlar için her iki tablonun da verilerle doldurulması gerekir.
Seçili üst kaydın alt kayıtlarını döndürmek için
GetChildRows Belirli
Customers
bir veri satırının yöntemini çağırın ve tablodanOrders
bir satır dizisi döndürür:
Seçili alt kaydın üst kaydını döndürmek için
GetParentRow Belirli
Orders
bir veri satırının yöntemini çağırın ve tablodan tek bir satır döndürinCustomers
: