Aracılığıyla paylaş


.NET Framework uygulamalarında TableAdapters oluşturma ve yapılandırma

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. Bunlar ö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.

TableAdapter, uygulamanızla veritabanı arasındaki iletişimi sağlar. Veritabanına bağlanır, sorgular veya saklı yordamlar çalıştırır ve yeni bir veri tablosu döndürür veya var olan DataTable bir tabloyu döndürülen verilerle doldurur. TableAdapters, güncelleştirilmiş verileri uygulamanızdan veritabanına da gönderebilir.

TableAdapters, aşağıdaki eylemlerden birini gerçekleştirdiğinizde sizin için oluşturulur:

  • Veritabanı nesnelerini Sunucu Gezgini'ndenVeri Kümesi Tasarım Aracı sürükleyin.

  • Veri Kaynağı Yapılandırma Sihirbazı'nı çalıştırın ve Veritabanı veya Web Hizmeti veri kaynağı türünü seçin.

    Visual Studio'da Veri Kaynağı Yapılandırma Sihirbazı

Ayrıca yeni bir TableAdapter oluşturabilir ve Toolbox'tan Bir TableAdapter'ı Veri Kümesi Tasarım Aracı yüzeyindeki boş bir bölgeye sürükleyerek bunu bir veri kaynağıyla yapılandırabilirsiniz.

TableAdapters'a giriş için bkz . TableAdapters kullanarak veri kümelerini doldurma.

Not

Bilgisayarınız bu makaledeki Bazı Visual Studio kullanıcı arabirimi öğeleri için farklı adlar veya konumlar gösterebilir. Visual Studio'nun farklı bir sürümünü veya farklı ortam ayarlarını kullanıyor olabilirsiniz. Daha fazla bilgi için bkz . IDE'yi kişiselleştirme.

TableAdapter Yapılandırma Sihirbazı'nı kullanma

TableAdapter Yapılandırma Sihirbazı'nı çalıştırarak TableAdapter'ları ve ilişkili DataTable'larını oluşturun veya düzenleyin. Mevcut bir TableAdapter'ı, Veri Kümesi Tasarım Aracı sağ tıklayarak yapılandırabilirsiniz.

Tablo Bağdaştırıcısı Yapılandırma Sihirbazı'nı gösteren ekran görüntüsü.

Veri Kümesi Tasarım Aracı odaktayken Araç Kutusu'ndan yeni bir TableAdapter sürüklerseniz, sihirbaz başlatılır ve TableAdapter'ın hangi veri kaynağına bağlanacağını belirtmenizi ister. Sonraki sayfada sihirbaz, veritabanıyla iletişim kurmak için sql deyimleri veya saklı yordamlar olmak üzere ne tür komutlar kullanması gerektiğini sorar. (Zaten bir veri kaynağıyla ilişkilendirilmiş bir TableAdapter yapılandırıyorsanız bu ekranı görmezsiniz.)

  • Veritabanı için doğru izinlere sahipseniz, temel alınan veritabanında yeni bir saklı yordam oluşturma seçeneğiniz vardır. Bu izinlere sahip değilseniz bu seçenek kullanılamaz.

  • TableAdapter'ın SELECT, INSERT, UPDATE ve DELETE komutları için mevcut saklı yordamları çalıştırmayı da seçebilirsiniz. Örneğin Update komutuna atanan saklı yordam, yöntem çağrıldığında TableAdapter.Update() çalıştırılır.

Seçili saklı yordamdaki parametreleri veri tablosundaki ilgili sütunlara eşleyin. Örneğin, saklı yordamınız tablodaki sütuna geçirdiği adlı @CompanyName bir parametreyi kabul ederse, parametresinin Kaynak Sütununu@CompanyName olarak CompanyNameCompanyName ayarlayın.

Not

Komutuna atanan saklı yordam, sihirbazın SELECT sonraki adımında adlandırdığınız TableAdapter yöntemini çağırarak çalıştırılır. Varsayılan yöntem şeklindedir Fill, bu nedenle genellikle yordamı çalıştırmak SELECT için kullanılan kod olur TableAdapter.Fill(tableName). varsayılan adını yerine FillFill atadığınız adı yazın ve "TableAdapter"ı TableAdapter'ın gerçek adıyla değiştirin (örneğin, CustomersTableAdapter).

  • Güncelleştirmeleri doğrudan veritabanına göndermek için Yöntemler oluştur seçeneğinin seçilmesi, özelliği true olarak ayarlamakla GenerateDBDirectMethods eşdeğerdir. Özgün SQL deyimi yeterli bilgi sağlamadığında veya sorgu güncelleştirilebilir bir sorgu olmadığında seçeneği kullanılamaz. Bu durum, örneğin, tek bir (skaler) değer döndüren JOIN sorgularında ve sorgularında oluşabilir.

Sihirbazdaki Gelişmiş Seçenekler aşağıdakileri yapmanızı sağlar:

  • SQL deyimleri oluştur sayfasında tanımlanan deyimi temel alarak SELECT , UPDATEve DELETE deyimleri oluşturma INSERT
  • İyimser eşzamanlılık kullanma
  • Ve UPDATE deyimleri çalıştırıldıktan sonra INSERT veri tablosunun yenilenip yenilenmeyeceğini belirtin

TableAdapter'ın Fill yöntemini yapılandırma

Bazen TableAdapter tablosunun şemasını değiştirmek isteyebilirsiniz. Bunu yapmak için TableAdapter'ın birincil Fill yöntemini değiştirirsiniz. TableAdapters, ilişkili veri tablosunun şemasını tanımlayan birincil Fill bir yöntemle oluşturulur. Birincil Fill yöntem, TableAdapter'ı ilk kez yapılandırırken girdiğiniz sorguyu veya saklı yordamı temel alır. DataSet Tasarım Aracı veri tablosunun altındaki ilk (en üst) yöntemdir.

Birden çok sorgu içeren TableAdapter

TableAdapter'ın ana Fill yönteminde yaptığınız tüm değişiklikler ilişkili veri tablosunun şemasına yansıtılır. Örneğin, main Fill yöntemindeki sorgudan bir sütunun kaldırılması, sütunu ilişkili veri tablosundan da kaldırır. Ayrıca, sütunu main Fill yönteminden kaldırmak, sütunu bu TableAdapter için ek sorgulardan kaldırır.

TableAdapter Sorgu Yapılandırma Sihirbazı'nı kullanarak TableAdapter için ek sorgular oluşturabilir ve düzenleyebilirsiniz. Skaler değer döndürmedikleri sürece bu ek sorguların tablo şemasına uyması gerekir. Her ek sorgu, belirttiğiniz bir ada sahiptir.

Aşağıdaki örnekte adlı FillByCityek bir sorgunun nasıl çağrılacakları gösterilmektedir:

CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")

TableAdapter Sorgu Yapılandırma Sihirbazı'nı yeni bir sorguyla başlatmak için

  1. Veri kümesi Tasarım Aracı veri kümenizi açın.

  2. Yeni bir sorgu oluşturuyorsanız, Araç Kutusu'nun DataSet sekmesinden bir Sorgu nesnesini öğesine DataTablesürükleyin veya TableAdapter'ın kısayol menüsünden Sorgu Ekle'yi seçin. Sorgu nesnesini, ilişkili DataTableolmayan birTableAdapter oluşturan Veri Kümesi Tasarım Aracı boş bir alanına da sürükleyebilirsiniz. Bu sorgular yalnızca tek (skaler) değerler döndürebilir veya veritabanında , INSERTveya DELETE komutlarını çalıştırabilirUPDATE.

  3. Verilerinizi Seçin Bağlan ekranında sorgunun kullanacağı bağlantıyı seçin veya oluşturun.

    Not

    Bu ekran yalnızca tasarımcı kullanılacak doğru bağlantıyı belirleyemiyorsa veya kullanılabilir bağlantı olmadığında görünür.

  4. Komut Türü Seçin ekranında, veritabanından veri getirmenin aşağıdaki yöntemlerinden birini seçin:

    • SQL deyimlerini kullanma, veritabanınızdan verileri seçmek için bir SQL deyimi yazmanızı sağlar.

    • Yeni saklı yordam oluştur, sihirbazın belirtilen SELECT deyimi temel alarak yeni bir saklı yordam (veritabanında) oluşturmasını sağlar.

    • Mevcut saklı yordamları kullanma, sorguyu çalıştırırken mevcut bir saklı yordamı çalıştırmanızı sağlar.

Varolan bir sorguda TableAdapter Sorgu Yapılandırma sihirbazını başlatmak için

  • Mevcut bir TableAdapter sorgusunu düzenliyorsanız, sorguya sağ tıklayın ve kısayol menüsünden Yapılandır'ı seçin.

    Not

    TableAdapter'ın ana sorgusuna sağ tıklanması TableAdapter'ı ve DataTable şemayı yeniden yapılandırır. Ancak TableAdapter'da ek bir sorguya sağ tıklanması yalnızca seçili sorguyu yapılandırır. TableAdapter Yapılandırma Sihirbazı TableAdapter tanımını yeniden yapılandırırken, TableAdapter Sorgu Yapılandırma Sihirbazı yalnızca seçili sorguyu yeniden yapılandırır.

TableAdapter'a genel sorgu eklemek için

  • Genel sorgular, tek bir (skaler) değer döndüren veya değer içermeyen SQL sorgularıdır. Genel işlevler genellikle eklemeler, güncelleştirmeler ve silmeler gibi veritabanı işlemlerini gerçekleştirir. Ayrıca bir tablodaki müşteri sayısı veya belirli bir siparişteki tüm öğelerin toplam ücretleri gibi bilgileri de toplar.

    Bir Sorgu nesnesini Araç Kutusu'nunDataSet sekmesinden Veri Kümesi Tasarım Aracı boş bir alana sürükleyerek genel sorgular eklersiniz.

  • İstenen görevi gerçekleştiren bir sorgu sağlayın, örneğin, SELECT COUNT(*) AS CustomerCount FROM Customers.

    Not

    Sorgu nesnesini doğrudan Veri Kümesi Tasarım Aracı sürüklemek, yalnızca skaler (tek) değer döndüren bir yöntem oluşturur. Seçtiğiniz sorgu veya saklı yordam tek bir değerden daha fazlasını döndürebileceğinden, sihirbaz tarafından oluşturulan yöntem yalnızca tek bir değer döndürür. Örneğin, sorgu döndürülen verilerin ilk satırının ilk sütununu döndürebilir.