Aracılığıyla paylaş


Kayıt Kümesi: Kayıtları Filtreleme (ODBC)

Bu konu MFC ODBC sınıfları için geçerlidir.

Bu konuda, kullanılabilir kayıtların yalnızca belirli bir alt kümesini seçecek şekilde bir kayıt kümesinin nasıl filtreleneceği açıklanmaktadır. Örneğin, MATH101 gibi belirli bir kursun yalnızca sınıf bölümlerini seçmek isteyebilirsiniz. Filtre, SQL WHERE yan tümcesinin içeriği tarafından tanımlanan bir arama koşuludur. Çerçeve bunu kayıt kümesinin SQL deyimine eklediğinde WHERE yan tümcesi seçimi kısıtlar.

Nesneyi oluşturduktan sonra ancak üye işlevini çağırmadan Open önce (veya üye işlevi daha önce çağrılan mevcut bir kayıt kümesi nesnesi için üye işlevini çağırmadan Requery önce) bir kayıt kümesi nesnesinin Open filtresini oluşturmanız gerekir.

Kayıt kümesi nesnesi için filtre belirtmek için

  1. Yeni bir kayıt kümesi nesnesi oluşturma (veya var olan bir nesne için çağırmaya Requery hazırlanma).

  2. Nesnenin m_strFilter veri üyesinin değerini ayarlayın.

    Filtre, SQL WHERE yan tümcesinin içeriğini içeren ancak WHERE anahtar sözcüğünü içermeyen null olarak sonlandırılan bir dizedir. Örneğin, aşağıdakileri kullanın:

    m_pSet->m_strFilter = "CourseID = 'MATH101'";
    

    not

    m_pSet->m_strFilter = "WHERE CourseID = 'MATH101'";
    

    Dekont

    "MATH101" değişmez değeri, yukarıda tek tırnak işaretleri ile gösterilir. ODBC SQL belirtiminde, karakter dizesi değişmez değerlerini belirtmek için tek tırnak işaretleri kullanılır. Bu durumda DBMS'nizin alıntı gereksinimleri için ODBC sürücüsü belgelerinize bakın. Bu söz dizimi, bu konunun sonuna yakın bir tarihte de ele alınmıştır.

  3. Sıralama düzeni, kilitleme modu veya parametreler gibi ihtiyacınız olan diğer seçenekleri ayarlayın. Parametre belirtmek özellikle yararlıdır. Filtrenizi parametreleştirme hakkında bilgi için bkz . Kayıt Kümesi: Kayıt Kümesini Parametreleştirme (ODBC).

  4. Yeni nesne (veya Requery daha önce açılmış bir nesne için) için çağrısı Open yapın.

Bahşiş

Filtrenizde parametreleri kullanmak, kayıtları almak için en verimli yöntem olabilir.

Bahşiş

Kayıt kümesi filtreleri, tabloları birleştirmek ve çalışma zamanında elde edilen veya hesaplanan bilgilere göre parametreleri kullanmak için kullanışlıdır.

Kayıt kümesi yalnızca belirttiğiniz arama koşuluna uyan kayıtları seçer. Örneğin, yukarıda açıklanan kurs filtresini belirtmek için (şu anda bir değişkenin strCourseID "MATH101" olarak ayarlandığını varsayarsak), aşağıdakileri yapın:

// Using the recordset pointed to by m_pSet

// Set the filter
m_pSet->m_strFilter = "CourseID = " + strCourseID;

// Run the query with the filter in place
if ( m_pSet->Open( CRecordset::snapshot, NULL, CRecordset::readOnly ) )

// Use the recordset

Kayıt kümesi, MATH101 için tüm sınıf bölümlerinin kayıtlarını içerir.

Yukarıdaki örnekte bir dize değişkeni kullanılarak filtre dizesinin nasıl ayarlandığına dikkat edin. Bu tipik kullanımdır. Ancak kurs kimliği için 100 değişmez değerini belirtmek istediğinizi varsayalım. Aşağıdaki kod, filtre dizesini sabit değerle doğru şekilde ayarlamayı gösterir:

m_strFilter = "StudentID = '100'";   // correct

Tek tırnak karakterlerinin kullanıldığına dikkat edin; Filtre dizesini doğrudan ayarlarsanız, filtre dizesi şu şekilde değildir:

m_strFilter = "StudentID = 100";   // incorrect for some drivers

Yukarıda gösterilen alıntı ODBC belirtimine uygundur, ancak bazı DBMS'ler başka tırnak karakterleri gerektirebilir. Daha fazla bilgi için bkz . SQL: Kayıt Kümenizin SQL Deyimini Özelleştirme (ODBC).

Dekont

kendi SQL dizenizi 'ye geçirerek kayıt kümesinin varsayılan SQL dizesini geçersiz kılmayı Openseçerseniz, özel dizenizde WHERE yan tümcesi varsa filtre ayarlamamalısınız. Varsayılan SQL'i geçersiz kılma hakkında daha fazla bilgi için bkz. SQL: Kayıt Kümenizin SQL Deyimini Özelleştirme (ODBC).

Ayrıca bkz.

Kayıt Kümesi (ODBC)
Kayıt Kümesi: Kayıtları Sıralama (ODBC)
Kayıt Kümesi: Kayıt Kümelerinin Kayıtları Seçme Biçimi (ODBC)
Kayıt Kümesi: Kayıt Kümelerinin Kayıtları Güncelleştirmesi (ODBC)
Kayıt Kümesi: Kayıtları Kilitleme (ODBC)