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
Yeni bir kayıt kümesi nesnesi oluşturma (veya var olan bir nesne için çağırmaya
Requery
hazırlanma).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.
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).
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ı Open
seç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)
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin