Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu MFC ODBC sınıfları için geçerlidir.
Kayıt kümesini açtıktan sonra, değerleri görüntülemek, hesaplamalar yapmak, raporlar oluşturmak vb. için kayıtlara erişmeniz gerekir. Kaydırma, kayıt kümesi içinde kayıttan kayda geçmenizi sağlar.
Bu konu açıklar:
Kayıt kümesindeki bir kayıttan diğerine kaydırma.
Bir Kayıttan Diğerine Kaydırma
Sınıfı CRecordset , Move kayıt kümesi içinde kaydırma için üye işlevleri sağlar. Bu işlevler geçerli kaydı satır kümelerine göre taşır. Toplu satır getirme işlemi uyguladıysanız, bir Move işlem kayıt kümesini satır kümesinin boyutuna göre yeniden konumlandırır. Toplu satır getirme uygulamadıysanız, bir Move işlev çağrısı kayıt kümesini her seferinde bir kayıtla yeniden konumlandırır. Toplu satır getirme hakkında daha fazla bilgi için bkz: Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC).
Not
Kayıt kümesinde gezinirken, silinen kayıtlar atlanmayabilir. Daha fazla bilgi için bkz: IsDeleted üye işlevi.
Üye işlevlere Move ek olarak, CRecordset kayıt kümenizin başında veya sonunda kaydırma yapıp yapmadığınızı kontrol eden üye işlevleri sağlar.
Kayıt kümenizde kaydırmanın mümkün olup olmadığını belirlemek için üye işlevini çağırın CanScroll .
Kaydırmak için
Bir kaydı veya bir satır kümesini iletme: MoveNext üye işlevini çağırın.
Bir kaydı veya bir satır kümesini geri döndürme: MovePrev üye işlevini çağırın.
Kayıt kümesindeki ilk kayda: MoveFirst üye işlevini çağırın.
Kayıt kümesindeki son kayda veya son satır kümesine: MoveLast üye işlevini çağırın.
Geçerli konuma göre N kayıt: Üyeyi taşı işlevini çağırın.
Kayıt kümesinin sonunu veya başlangıcını test etmek için
Son kaydı geçtiniz mi? IsEOF üye işlevini çağırın.
İlk kaydın öncesine mi kaydırdınız (geriye mi gidiyorsunuz)? IsBOF üye işlevini çağırın.
Aşağıdaki kod örneği, herhangi bir yöne kaydırırken kayıt kümesinin sınırlarını algılamak için IsBOF ve IsEOF kullanır.
// Open a recordset; first record is current
CCustSet rsCustSet( NULL );
rsCustSet.Open( );
if( rsCustSet.IsBOF( ) )
return;
// The recordset is empty
// Scroll to the end of the recordset, past
// the last record, so no record is current
while ( !rsCustSet.IsEOF( ) )
rsCustSet.MoveNext( );
// Move to the last record
rsCustSet.MoveLast( );
// Scroll to beginning of the recordset, before
// the first record, so no record is current
while( !rsCustSet.IsBOF( ) )
rsCustSet.MovePrev( );
// First record is current again
rsCustSet.MoveFirst( );
IsEOF kayıt kümesi son kaydın dışına konumlandırıldıysa sıfır olmayan bir değer döndürür.
IsBOF kayıt kümesi ilk kaydın (tüm kayıtlardan önce) önüne konumlandırıldıysa sıfır olmayan bir değer döndürür. Her iki durumda da, üzerinde çalışacak geçerli bir kayıt yoktur. Zaten TRUE olduğunda MovePrev veya IsBOF zaten TRUE olduğunda MoveNext çağırırsanızIsEOF, çerçeve bir CDBExceptionoluşturur. Boş bir kayıt kümesini denetlemek için IsBOF ve IsEOF de kullanabilirsiniz.
Kayıt kümesi gezintisi hakkında daha fazla bilgi için Kayıt Kümesi: Yer İşaretleri ve Mutlak Konumlar (ODBC)'e bakın.
Kaydırma desteklendiğinde
Başlangıçta tasarlandığı gibi, SQL yalnızca ileri kaydırma sağlar, ancak ODBC kaydırma özelliklerini genişletir. Kaydırma için kullanılabilir destek düzeyi, uygulamanızın birlikte çalıştığı ODBC sürücülerine, sürücünüzün ODBC API uyumluluk düzeyine ve ODBC İmleç Kitaplığı'nın belleğe yüklenip yüklenmediğine bağlıdır. Daha fazla bilgi için bkz . ODBC ve ODBC: ODBC İmleç Kitaplığı.
İpucu
İmleç kitaplığının kullanılıp kullanılmayacağını denetleyebilirsiniz. CDatabase::Open için bUseCursorLib ve dwOptions parametrelerine bakın.
Not
MFC DAO sınıflarından farklı olarak, MFC ODBC sınıfları belirtilen ölçütleri karşılayan sonraki (veya önceki) kaydı bulmak için bir işlev kümesi Find sağlamaz.
Ayrıca bkz.
Kayıt Kümesi (ODBC)
CRecordset::CanScroll
CRecordset::CheckRowsetError
Kayıt Kümesi: Kayıtları Filtreleme (ODBC)