Aracılığıyla paylaş


.NET Framework uygulamalarında parametreli TableAdapter sorguları oluşturma

Uyarı

Sınıf DataSet 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ümeleri başarısı kanıtlanmış bir teknoloji olsa da, yeni .NET uygulamaları için önerilen yaklaşım Entity Framework Core kullanmaktır. 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.

Parametreli sorgu, sorgu içindeki bir WHERE yan tümcenin koşullarını karşılayan verileri döndürür. Örneğin, müşteri listesini parametreleştirerek bir müşteri listesini döndüren SQL deyiminin sonuna ekleyerek WHERE City = @City yalnızca belirli bir şehirdeki müşterileri görüntüleyebilirsiniz.

Veri Kümesi Tasarımcısı'nda parametreli TableAdapter sorguları oluşturursunuz. Bunları, Veri menüsündekiVeri Kaynağını Parametreleştir komutuyla bir Windows uygulamasında da oluşturabilirsiniz. Veri Kaynağını Parametreleştir komutu, formunuzda parametre değerlerini girebileceğiniz ve sorguyu çalıştırabileceğiniz denetimler oluşturur.

Uyarı

Parametreli sorgu oluştururken, kodladığınız veritabanına özgü parametre gösterimini kullanın. Örneğin, Access ve OleDb veri kaynakları parametreleri belirtmek için '?' soru işaretini kullanır, bu nedenle yan tümcesi WHERE şöyle görünür: WHERE City = ?.

Parametreli TableAdapter sorgusu oluşturma

Veri Kümesi Tasarımcısı'nda parametreli sorgu oluşturmak için

  • SQL deyimine istenen parametreleri içeren bir yan tümce ekleyerek yeni bir WHERE TableAdapter oluşturun. Daha fazla bilgi için bkz. TableAdapters oluşturma ve yapılandırma.

    veya

  • Mevcut TableAdapter'a bir sorgu ekleyin, ardından SQL ifadesine istenen parametrelere sahip bir WHERE koşulu ekleyin.

Veriye bağlı form tasarlarken parametreli sorgu oluşturmak için

  1. Formunuzda zaten bir veri kümesine bağlı olan bir denetim seçin. Daha fazla bilgi için bkz. Visual Studio'daki verilere Windows Forms denetimlerini bağlama.

  2. Veri menüsünde Sorgu Ekle'yi seçin.

  3. SQL deyimine istenen parametreleri içeren bir WHERE yan tümce ekleyerek Arama Ölçütü Oluşturucusu iletişim kutusunu tamamlayın.

Varolan bir veriye bağlı forma sorgu eklemek için

  1. Windows Forms Designeriçinde formu açın.

  2. Veri menüsünde Sorgu Veya Veri Akıllı EtiketleriEkle'yi seçin.

    Uyarı

    Veri menüsünde Sorgu Ekle seçeneği kullanılamıyorsa, formda parametreleştirmesini eklemek istediğiniz veri kaynağını görüntüleyen bir denetim seçin. Örneğin, form bir DataGridView denetimde veri görüntülüyorsa seçin. Form verileri tek tek denetimlerde görüntülüyorsa, veriye bağlı herhangi bir denetimi seçin.

  3. Veri kaynağı tablosu seçin alanında parametreleştirme eklemek istediğiniz tabloyu seçin.

  4. Yeni sorgu oluşturuyorsanız Yeni sorgu adı kutusuna bir ad yazın.

    veya

    Var olan sorgu adı kutusunda bir sorgu seçin.

  5. Sorgu Metni kutusuna parametreleri alan bir sorgu yazın.

  6. Tamam'ı seçin.

    Parametre girişi için bir denetim ve Yükle düğmesi, ToolStrip denetimine forma eklenir.

Null değerler için sorgu

Geçerli değeri olmayan kayıtları sorgulamak istediğinizde TableAdapter parametrelerine null değerler atanabilir. Örneğin, ShippedDate parametresi WHERE yan tümcesinde olan aşağıdaki sorguyu göz önünde bulundurun:

SELECT CustomerID, OrderDate, ShippedDate
FROM Orders
WHERE (ShippedDate = @ShippedDate) OR (ShippedDate IS NULL)

Bu bir TableAdapter üzerindeki bir sorguysa, aşağıdaki kodla gönderilmemiş tüm siparişleri sorgulayabilirsiniz:

ordersTableAdapter.FillByShippedDate(northwindDataSet.Orders, null);

Sorguyu null değerleri kabul etmek üzere etkinleştirmek için:

  1. Veri Kümesi Tasarımcısı'nda null parametre değerlerini kabul etmesi gereken TableAdapter sorgusunu seçin.

  2. Özellikler penceresinde Parametreler'i seçin ve ardından üç nokta (...) düğmesini seçerek Parametre Koleksiyonu Düzenleyicisi'ni açın.

  3. Null değerlere izin veren parametreyi seçin ve AllowDbNull özelliğini olarak trueayarlayın.