Aracılığıyla paylaş


TableAdapter genel bakış

TableAdapters bir veritabanı uygulamanız arasındaki iletişimi sağlar. Özellikle de, bir TableAdapter bir veritabanına bağlanır, sorgu veya saklı yordamları ve ya da döndürür döndürülen verilerle doldurulan yeni bir veri tablosu yürütür veya varolan doldurur DataTable döndürülen verileri ile. TableAdapters veritabanına uygulamanızdan güncelleştirilmiş veriler göndermek için de kullanılır.

Önceki sürümlerinin kullanıcıları Visual Studio TableAdapter düşünebilirsiniz bir DataAdapter yerleşik connection nesnesi ve yeteneği birden fazla sorgu içerir. Bir TableAdapter eklenen her sorgu, başka bir yöntem veya işlev gibi bir nesne üzerinde sadece adlı bir public yöntem olarak açıktır.

Standart işlevlerine ek olarak bir DataAdapter, TableAdapters, ortak bir şema ile ilgili yazdığınız paylaşım sorguları kapsayan ek yazılı yöntemleri sağlayan DataTable. Başka bir deyişle, aynı şemaya uyan veri döndürmeleri sürece birTableAdapter üzerinde istediğiniz sayıda sorgu olabilir.

Önceki sürümünde Visual Studio, ado.net veri bağdaştırıcıları, uygulama ve veritabanı arasında iletişim kurmak için kullanılıyordu. Ederken veri bağdaştırıcıları hala ana bileşeni olan .NET Framework Data Providers, TableAdapters, işlevselliğini artıran Tasarımcı tarafından oluşturulan bileşenleri olan DataAdapters. Genellikle TableAdapters içeren Fill ve Update getirebilir ve verileri bir veritabanında güncelleştirmek için yöntem.

TableAdapters ile oluşturulan Dataset Designer kesinlikle typed DataSet içerisindedir. TableAdapters ile yeni bir dataset oluşturma sırasında oluşturabileceğiniz Data Source Configuration Wizard. İle varolan DataSet'lerdeki TableAdapters oluşturabilirsiniz TableAdapter Configuration Wizard veya veritabanı nesneleri sürükleyerek Server Explorer üzerine Dataset Designer. Daha fazla bilgi için bkz. Nasıl yapılır: TableAdapters oluşturmak.

TableAdapters ile tasarlanmış iken Dataset Designer, oluþturulan TableAdapter sýnýflarý yuvalanmış sınıfları oluşturulmaz DataSet. Her veri kümesini belirli ayrı bir ad alanında bulunur. Adlı bir dataset vardır, örneğin, NorthwindDataSet, TableAdapters ile ilgili DataTables NorthwindDataSet de olurdu NorthwindDataSetTableAdapters ad. Belirli bir TableAdapter programlama yoluyla erişmek için TableAdapter yeni bir örneğini bildirmeniz gerekir. Örne?in:

Dim northwindDataSet As New NorthwindDataSet()
Dim customersTableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()

customersTableAdapter.Fill(northwindDataSet.Customers)
NorthwindDataSet northwindDataSet = new NorthwindDataSet();

NorthwindDataSetTableAdapters.CustomersTableAdapter customersTableAdapter = 
    new NorthwindDataSetTableAdapters.CustomersTableAdapter();

customersTableAdapter.Fill(northwindDataSet.Customers);

DataTable şemasıyla ilişkili

İlişkili bir TableAdapter, başlangıçtaki sorgu veya saklı yordam oluşturma TableAdapter şemasını tanımlamak için kullanıldığında DataTable. TableAdapter'ın ana çağırarak bu ilk sorgu veya saklı yordam yürütme Fill yöntemi (TableAdapter doldurur ilişkili DataTable). TableAdapter'ın ana sorguda yapılan değişiklikler ilişkili veri tablosu şemada yansıtılır. Örneğin, ana sorgudan sütun kaldırma sütun ilişkili veri tablosundan kaldırır. Herhangi bir ek TableAdapter sorgulamaları ana sorguda bulunmayan sütunları döndüren sql deyimleri kullanırsanız, ana sorgu herhangi bir ek sorgular arasındaki sütun değişiklikleri eşitlemek Tasarımcı deneyecek. Daha fazla bilgi için bkz. Nasıl yapılır: TableAdapters Düzenle.

TableAdapter güncelleştirme komutları

Bir TableAdapter güncelleştirme işlevselliğini ne kadar bilgi TableAdapter sihirbazda sağlanan ana sorguyu temel kullanılabilir olduğuna bağlıdır. Örneğin, birden çok tablodan (birleştirme) değerleri, skalar değerler, görünümler veya toplama işlevlerinin sonuçlarını getirmek için yapılandırılmış TableAdapters alttaki veritabanına güncelleştirmeleri gönderme olanağı ile başlangıçta oluşturulmaz. Ancak, INSERT, update ve delete komutları el ile de yapılandırabilirsiniz özelliklerini pencere.

TableAdapter sorguları

Birden çok sorguyla TableAdapter

Standart veri bağdaştırıcıları, TableAdapters ilişkili veri tablolarıyla doldurmak için birden fazla sorgu içerebilir. Her sorgu, ilişkili veri tablosunu aynı şemaya uyan verileri döndürür sürece bir TableAdapter çok sorguları uygulamanızı gerektirdiğinden tanımlayabilirsiniz. Bu farklı ölçütleri karşılayan veri yüklenmesini sağlar. Örneğin, uygulamanızdaki Müşteriler tablosu, bir sorgu adı belirli bir harfle başlayan her müşteriyle tabloyu doldurur ve aynı durumda bulunan tüm müşteriler tablosunu doldurur başka bir sorgu oluşturabilirsiniz. Doldurmak için bir Customers tablo oluşturup belirli bir durumda müşterilerle bir FillByState durumu değeri için bir parametre sorgusu: SELECT * FROM Customers WHERE State = @State. Çağırarak sorgu yürütme FillByState yöntem ve parametre değeri geçirilmesi gibi bu: CustomerTableAdapter.FillByState("WA"). Daha fazla bilgi için bkz. Nasıl yapılır: TableAdapter sorgular oluşturma.

Veri tablosunun TableAdapter'ın aynı şemaya veri döndüren sorgular yanı sıra (tek) skalar değer döndüren sorgular ekleyebilirsiniz. Örneğin, bir sorgu oluştururken müşterilerin sayısını döndürür (SELECT Count(*) From Customers) için geçerli olan bir CustomersTableAdapter döndürülen veriler tablo şema uymuyor olsa.

ClearBeforeFill özelliği

TableAdapter temel özellik kullanılamaz ekler DataAdapter sınıfı. Varsayılan olarak, bir TableAdapter'ın veri tablosunu doldurmak için sorgu yürütme her veri temizlenir ve sorgu sonuçlarını tabloya yüklenen. TableAdapter's set ClearBeforeFill özelliğine false ekleyin veya varolan veriler üzerinde veri tablosu sorgudan döndürülen verileri birleştirmek isteyip istemediğinizi. Verileri silmek mi olsun, açıkça güncelleştirmeleri veritabanına geri göndermek isterseniz gerekir. Bu nedenle tabloyu doldurur başka bir sorguyu yürütmeden önce tablo verilerinde yapılan değişiklikleri kaydetmeyi unutmayın. Daha fazla bilgi için bkz. Nasıl yapılır: bir TableAdapter kullanarak veri güncelleştirme.

TableAdapter devralma

TableAdapters bir yapılandırılmış Kapsüllenen standart veri bağdaştırıcıları işlevselliğini genişletmek DataAdapter. TableAdapter devraldığı varsayılan olarak, Component için atama yapılamaz ve DataAdapter sınıfı. Bir TableAdapter vuran bir DataAdapter sonuçlanan bir InvalidCastException. Bir TableAdapter temel sınıfını değiştirmek için türetildiği sınıfı yazabilirsiniz Component , Temel sınıf özelliği TableAdapter Dataset Designer.

TableAdapter yöntemleri ve özellikleri

TableAdapter class değil parçası .NET Framework, ve dolayısıyla, onu belgelerine bakýn olamaz veya Nesne tarayıcısı. Yukarıda bahsedilen sihirbazlardan birini kullandığınızda, tasarım zamanında oluşturulur. Birlikte çalıştığınız tablonun adını oluştururken bir TableAdapter atanan ad dayanır. Örneğin, ne zaman bir TableAdapter oluşturma esas alan adında bir veritabanı tablosunda Orders, TableAdapter adında OrdersTableAdapter. TableAdapter class adı kullanılarak değiştirilebilir ad özelliğinde Dataset Designer.

Sık kullanılan yöntemler ve TableAdapters özellikleri şunlardır:

Üye

Description

TableAdapter.Fill

TableAdapter'ın ilişkili veri tablosu TableAdapter'ın select komutu sonuçları ile doldurur. Daha fazla bilgi için bkz. Nasıl yapılır: verileri içeren bir DataSet nesnesini doldurmak.

TableAdapter.Update

Değişiklikleri veritabanına geri gönderir ve güncelleştirmesi tarafından etkilenen satırların sayısını gösteren bir tamsayı döndürür. Daha fazla bilgi için bkz. Nasıl yapılır: bir TableAdapter kullanarak veri güncelleştirme.

TableAdapter.GetData

Yeni bir fonksiyonu DataTable verilerle doldurulur.

TableAdapter.Insert

Veri tablosunda yeni bir satır oluşturur. Daha fazla bilgi için bkz. Nasıl yapılır: satır DataTable nesnesine ekleyin.

TableAdapter.ClearBeforeFill

Veri tablosu birini aramadan önce boşaltılır olup olmadığını belirleyen Fill yöntemleri.

TableAdapter Update yöntemi

TableAdapters için okuma ve yazma veritabanından veri komutları kullanın. TableAdapter ilk Fill (ana) sorgu ilişkili veri tablosu şemasını oluşturmak için temel olarak kullanılır yanı InsertCommand, UpdateCommand, ve DeleteCommand ile ilişkili komutları TableAdapter.Update yöntemi. Yani birTableAdapter 's arama Update yöntemi çalıştırılır TableAdapter başlangıçta yapılandırılır ve ek sorgular birini eklenen ile oluşturulan ifadeleri TableAdapter sorgu Yapılandırma Sihirbazı'nı.

Bir TableAdapter kullandığınızda, etkili bir şekilde genellikle yapacağı komutları ile aynı işlemleri gerçekleştirir. Örneğin, aradığınızda bağdaştırıcının Fill yöntemi, bağdaştırıcı veri komutu yürütür, SelectCommand özelliği ve veri okuyucu kullanır (örneğin, SqlDataReader) sonucu yüklemek için verileri tabloya ayarlayın. Benzer şekilde, aradığınızda bağdaştırıcının Update yöntemi, uygun komutu yürütür (de UpdateCommand, InsertCommand, ve DeleteCommand Özellikler) her biri için veri tablosundaki kayıt değiştirildi.

Not

Ana sorgu yeterli bilgi ise InsertCommand, UpdateCommand, ve DeleteCommand komutları TableAdapter oluşturulduğunda varsayılan olarak oluşturulur.TableAdapter ana sorgu birden çok select deyimi tek bir tablo olduğundan, tasarımcı üretmek mümkün olmayacak mümkündür InsertCommand, UpdateCommand, ve DeleteCommand.Bu komutlar oluşturulmaz, yürütülürken bir hata alabilirsiniz TableAdapter.Update yöntemi.

TableAdapter GenerateDbDirectMethods

Ek olarak InsertCommand, UpdateCommand, ve DeleteCommand, TableAdapters, doğrudan veritabanına karşı yürütülen yöntemleri ile oluşturulur. Bu yöntemler (TableAdapter.Insert, TableAdapter.Update, ve TableAdapter.Delete) doğrudan veritabanındaki verileri işlemek için çağrılabilir. Bunun anlamı, ekler, güncelleştirmeler ve bekleyen siler işlemek için TableAdapter.Update çağırmak yerine kodundan ayrı ayrı bu yöntemleri çağırabilir ilişkili veri tablosu için.

Doğrudan bu yöntemleri oluşturmak istemiyorsanız, TableAdapter's set GenerateDbDirectMethods özelliğine false (içinde özelliklerini pencere). TableAdapter eklenen ek sorgular olan tek başına sorgu — bu yöntemler oluşturmaz.

TableAdapter Nullable türleri için destek

NULL yapılabilir türler TableAdapters Destek Nullable(Of T) ve T?. Visual Basic'te null türleri hakkında daha fazla bilgi için bkz: Null değer türleri (Visual Basic). C# [NULL]'taki null türleri hakkında daha fazla bilgi için bkz: NULL olabilecek türleri (c Programlama Kılavuzu #) kullanarak.

Ayrıca bkz.

Görevler

Nasıl yapılır: bir veritabanındaki verilere bağlanma

İzlenecek yol: (Windows Forms) bir veritabanındaki verilere bağlanma

Kavramlar

Visual Studio 2012'deki Veri Uygulaması Geliştirme Yenilikleri

Uygulamanız veri almaya hazırlanıyor

Uygulama veri getiriliyor

Visual Studio veri denetimleri

Uygulamanızın veri düzenleme

Veri doğrulama

Verileri kaydetme

Diğer Kaynaklar

Veri Talimatları