Aracılığıyla paylaş


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

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ümesindeki kayıttan kayda geçmenizi sağlar.

Bu konu başlığı altında açıklanmaktadır:

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).

Dekont

Kayıt kümesinde gezinirken, silinen kayıtlar atlanmayabilir. Daha fazla bilgi için bkz . IsDeleted üye işlevi.

İşlevlere Move ek olarak, CRecordset kayıt kümenizin sonunu veya başında kaydırma yapıp yapmadığınız denetlenecek ü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

  1. Bir kaydı veya bir satır kümesini iletme: MoveNext üye işlevini çağırın.

  2. Bir kaydı veya bir satır kümesini geri döndürme: MovePrev üye işlevini çağırın.

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

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

  5. 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

  1. Son kaydı geçtiniz mi? IsEOF üye işlevini çağırın.

  2. İlk kaydın önüne geçtiniz mi (geriye doğru hareket ediyor musunuz)? IsBOF üye işlevini çağırın.

Aşağıdaki kod örneği, herhangi bir yönde kaydırırken kayıt kümesinin sınırlarını algılamak için ve IsEOF kullanırIsBOF.

// 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 IsBOF veya MovePrev zaten TRUE olduğunda IsEOF çağırırsanızMoveNext, çerçeve bir CDBExceptionoluşturur. Boş bir kayıt kümesini denetlemek için ve IsEOF de kullanabilirsinizIsBOF.

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

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ığı.

Bahşiş

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

Dekont

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)