Aracılığıyla paylaş


Kayıt Kümesi: Kaydırma (ODBC)

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

Bir kayıt kümesini açtıktan sonra, değerleri görüntülemek, hesaplamalar yapmak, raporlar oluşturmak vs. için kayıtlara erişmeniz gerekir.Kaydırma, kayıt kümenizin içinde kayıttan kayda gitmenizi sağlar.

Bu konu şunları açıklar:

  • Bir kayıt kümesinde bir kayıttan diğerine nasıl kaydırma yapılır.

  • Kaydırma hangi durumlarda desteklenir ve desteklenmez.

Bir Kayıttan Diğerine Kaydırma

CRecordset sınıfı bir kayıt kümesi içerisinde kaydırma işlemi için Taşıma üye işlevlerini sağlar.Bu işlevler, geçerli kaydı satır kümelerine göre taşır.Toplu sıra getirme gerçekleştirdiyseniz, Taşı işlemi kayıt kümesini sıra kümesinin boyutuna göre yeniden konumlandırır.Toplu satır getirmeyi gerçekleştirmediyseniz Taşı işlevine yapılan bir çağrı kayıt kümesini her seferde tek bir kayıt olarak yeniden konumlandırır.Toplu satır yakalama hakkında daha fazla bilgi için bkz. Kayıt Kümesi: Kayıtları Toplu Yakalama (ODBC).

[!NOT]

Bir kayıt kümesinin üstünden geçerken silinmiş öğeler atlanmayabilir.Daha fazla bilgi için, IsDeleted üye işlevine bakın.

Taşı işlevlerine ek olarak, CRecordset kayıt kümenizin başından geriye veya sonundan öteye kaydırma yaptığınızı denetlemek için üye işlevleri sağlar.

Kayıt kümeniz içinde kaydırmanın mümkün olup olmadığını belirlemek için CanScroll üye işlevini çağırın.

Kaydırmak için

  1. Bir kayıt veya bir satır kümesi ilet: MoveNext üye işlevini çağır.

  2. Bir kayıt veya bir satır kümesi geri gidin: MovePrev üye işlevini çağırın.

  3. Kayıt kümesindeki ilk kayıt için: MoveFirst üye işlevini çağırın.

  4. Kayıt kümesindeki son kayıt veya son satır kümesi için: MoveLast üye işlevini çağırın.

  5. Geçerli konuma göre N kayıtları: Taşı üye işlevini çağırır.

Kayıt kümesinin sonu veya başlangıcını test etmek için

  1. Kaydırma yaparak son kaydı geçtiniz mi?IsEOF üye işlevini çağırın.

  2. İlk kayıt öncesine kaydırma yaptınız mı (geriye taşıma)?IsBOF üye işlevini çağırın.

Aşağıdaki kod örneği her bir yöne kaydırırken bir kayıt kümesinin sınırlarını algılamak için IsBOF ve IsEOF öğelerini 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 öğesi, son kaydın sonrasına konumlandırılırsa sıfır olmayan bir değer döndürür.IsBOF öğesi, kayıt kümesi ilk kaydın önüne konumlandırılırsa (bütün kayıtların önüne) sıfır olmayan bir değer döndürür.Her iki durumda da orada üzerinde çalışacağı geçerli bir kayıt yoktur.MovePrev öğesini IsBOF öğesi zaten TRUE iken çağırırsanız ya da MoveNext öğesini IsEOF öğesi zaten TRUE iken çağırırsanız, çerçeve bir CDBException oluşturur.Ayrıca, boş bir kayıt kümesini kontrol etmek için IsBOF ve IsEOF kullanabilirsiniz.

Kayıt kümesi gezinme hakkında daha fazla bilgi için bkz. Kayıt Kümesi: Yer İşaretleri ve Mutlak Konumlar (ODBC).

Kaydırma Desteklendiğinde

SQL ilk olarak tasarlanan haliyle yalnızca ileri kaydırma sağlıyordu, ancak ODBC ileri kaydırma yeteneklerini genişletir.Kaydırma için kullanılabilir destek seviyesi, uygulamanızın birlikte çalıştığı ODBC sürücülerine, sürücünüzün ODBC API uygunluk seviyesine ve ODBC İmleç Kitaplığı'nın belleğe yüklenmiş olup olmamasına bağlıdır.Daha fazla bilgi için bkz. ODBC ve ODBC: ODBC İmleç Kitaplığı.

İpucuİpucu

İmleç kitaplığının kullanılıp kullanılmayacağını denetleyebilirsiniz.CDatabase::Open için bkz. bUseCursorLib ve dwOptions parametreleri.

[!NOT]

MFC DAO sınıflarından farklı olarak MFC ODBC sınıfları belirtilen ölçütlere uyan sonraki (veya önceki) kaydı bulmak için Bul işlevleri sağlamaz.

Ayrıca bkz.

Başvuru

CRecordset::CanScroll

CRecordset::CheckRowsetError

Kavramlar

Kayıt Kümesi (ODBC)

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