Aracılığıyla paylaş


CDaoRecordset Sınıfı

Veri kaynağından seçilen bir kayıt kümesini temsil eder.

Sözdizimi

class CDaoRecordset : public CObject

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CDaoRecordset::CDaoRecordset Bir CDaoRecordset nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CDaoRecordset::AddNew Yeni kayıt eklemeye hazırlanır. Toplamayı tamamlamak için Update'i çağırın.
CDaoRecordset::CanAppend AddNew üye işlevi aracılığıyla kayıt kümesine yeni kayıtlar eklenebiliyorsa sıfır olmayan bir değer döndürür.
CDaoRecordset::CanBookmark Kayıt kümesi yer işaretlerini destekliyorsa sıfır olmayan değerini döndürür.
CDaoRecordset::CancelUpdate Düzenle veya EkleYeni işlem nedeniyle bekleyen güncelleştirmeleri iptal eder.
CDaoRecordset::CanRestart Kayıt kümesinin sorgusunu yeniden çalıştırmak için Requery çağrılabiliyorsa sıfır olmayan döndürür.
CDaoRecordset::CanScroll Kayıtlarda gezinebiliyorsanız sıfır olmayan değerini döndürür.
CDaoRecordset::CanTransact Veri kaynağı işlemleri destekliyorsa sıfır olmayan değerini döndürür.
CDaoRecordset::CanUpdate Kayıt kümesi güncelleştirilebiliyorsa sıfır olmayan bir değer döndürür (kayıtları ekleyebilir, güncelleştirebilir veya silebilirsiniz).
CDaoRecordset::Close Kayıt kümesini kapatır.
CDaoRecordset::D elete Kayıt kümesinden geçerli kaydı siler. Silme işleminden sonra açıkça başka bir kayda kaydırmanız gerekir.
CDaoRecordset::D oFieldExchange Kayıt kümesinin alan veri üyeleriyle veri kaynağındaki ilgili kayıt arasında veri alışverişi yapmak için (her iki yönde de) çağrılır. DAO kayıt alanı değişimini (DFX) uygular.
CDaoRecordset::Edit Geçerli kayıtta yapılan değişiklikler için hazırlanır. Düzenlemeyi tamamlamak için arayın Update .
CDaoRecordset::FillCache ODBC veri kaynağındaki verileri içeren bir kayıt kümesi nesnesi için yerel önbelleğin tamamını veya bir bölümünü doldurur.
CDaoRecordset::Find Belirtilen ölçütleri karşılayan ve bu kaydı geçerli kaydı yapan dynaset türündeki bir kayıt kümesinde belirli bir dizenin ilk, sonraki, önceki veya son konumunu bulur.
CDaoRecordset::FindFirst Belirtilen ölçütleri karşılayan ve bu kaydı geçerli kaydı yapan dynaset veya anlık görüntü türü kayıt kümesindeki ilk kaydı bulur.
CDaoRecordset::FindLast Belirtilen ölçütleri karşılayan ve bu kaydı geçerli kaydı yapan dynaset türü veya anlık görüntü türü kayıt kümesindeki son kaydı bulur.
CDaoRecordset::FindNext Belirtilen ölçütleri karşılayan ve bu kaydı geçerli kaydı yapan dynaset türünde veya anlık görüntü türü kayıt kümesinde bir sonraki kaydı bulur.
CDaoRecordset::FindPrev Belirtilen ölçütleri karşılayan ve bu kaydı geçerli kaydı yapan dynaset türünde veya anlık görüntü türü kayıt kümesinde önceki kaydı bulur.
CDaoRecordset::GetAbsolutePosition Kayıt kümesi nesnesinin geçerli kaydının kayıt numarasını döndürür.
CDaoRecordset::GetBookmark Bir kayıtta yer işaretini temsil eden bir değer döndürür.
CDaoRecordset::GetCacheSize ODBC veri kaynağından yerel olarak önbelleğe alınabilecek verileri içeren dinamik küme türündeki kayıt sayısını belirten bir değer döndürür.
CDaoRecordset::GetCacheStart Önbelleğe alınacak kayıt kümesindeki ilk kaydın yer işaretini belirten bir değer döndürür.
CDaoRecordset::GetCurrentIndex Dizinli, CString tablo türünde CDaoRecordseten son kullanılan dizinin adını içeren bir döndürür.
CDaoRecordset::GetDateCreated Bir CDaoRecordset nesnenin temel alındığı temel tablonun oluşturulduğu tarihi ve saati verir
CDaoRecordset::GetDateLastUpdated Bir nesnenin temel alınan CDaoRecordset temel tablosunun tasarımında yapılan en son değişikliğin tarih ve saatini döndürür.
CDaoRecordset::GetDefaultDBName Varsayılan veri kaynağının adını döndürür.
CDaoRecordset::GetDefaultSQL Yürütülecek varsayılan SQL dizesini almak için çağrıldı.
CDaoRecordset::GetEditMode Geçerli kayıt için düzenleme durumunu gösteren bir değer döndürür.
CDaoRecordset::GetFieldCount Bir kayıt kümesindeki alan sayısını temsil eden bir değer döndürür.
CDaoRecordset::GetFieldInfo Kayıt kümesindeki alanlar hakkında belirli türde bilgiler döndürür.
CDaoRecordset::GetFieldValue Kayıt kümesindeki bir alanın değerini döndürür.
CDaoRecordset::GetIndexCount Bir kayıt kümesinin temel alınan tablodaki dizin sayısını alır.
CDaoRecordset::GetIndexInfo Dizinle ilgili çeşitli bilgi türlerini döndürür.
CDaoRecordset::GetLastModifiedBookmark En son eklenen veya güncelleştirilen kaydı belirlemek için kullanılır.
CDaoRecordset::GetLockingMode Düzenleme sırasında geçerli olan kilitleme türünü gösteren bir değer döndürür.
CDaoRecordset::GetName Kayıt kümesinin adını içeren bir CString döndürür.
CDaoRecordset::GetParamValue Temel alınan DAOParameter nesnesinde depolanan belirtilen parametrenin geçerli değerini alır.
CDaoRecordset::GetPercentPosition Geçerli kaydın konumunu, toplam kayıt sayısının yüzdesi olarak döndürür.
CDaoRecordset::GetRecordCount Kayıt kümesi nesnesinde erişilen kayıtların sayısını döndürür.
CDaoRecordset::GetSQL Kayıt kümesi için kayıtları seçmek için kullanılan SQL dizesini alır.
CDaoRecordset::GetType Kayıt kümesinin türünü belirlemek için çağrılır: tablo türü, dynaset-type veya anlık görüntü türü.
CDaoRecordset::GetValidationRule CString Bir alana girilirken verileri doğrulayan değeri içeren bir döndürür.
CDaoRecordset::GetValidationText Doğrulama kuralı karşılanmadığında görüntülenen metni alır.
CDaoRecordset::IsBOF Kayıt kümesi ilk kayıt öncesinde konumlandırılmışsa sıfır olmayan değerini döndürür. Geçerli kayıt yok.
CDaoRecordset::IsDeleted Kayıt kümesi silinmiş bir kayda konumlandırıldıysa sıfır olmayan değerini döndürür.
CDaoRecordset::IsEOF Kayıt kümesi son kayıt sonrasında konumlandırıldıysa sıfır olmayan değerini döndürür. Geçerli kayıt yok.
CDaoRecordset::IsFieldDirty Geçerli kayıtta belirtilen alan değiştirildiyse sıfır olmayan değerini döndürür.
CDaoRecordset::IsFieldNull Geçerli kayıtta belirtilen alan Null ise (değeri olmayan) sıfır olmayan bir değer döndürür.
CDaoRecordset::IsFieldNullable Geçerli kayıtta belirtilen alan Null (değer olmadan) olarak ayarlanabiliyorsa sıfır olmayan değerini döndürür.
CDaoRecordset::IsOpen Daha önce Open çağrıldıysa sıfır olmayan değerini döndürür.
CDaoRecordset::Move Kayıt kümesini geçerli kayıttan herhangi bir yönde belirtilen sayıda kayda konumlandırın.
CDaoRecordset::MoveFirst Geçerli kaydı kayıt kümesindeki ilk kayda konumlandırın.
CDaoRecordset::MoveLast Geçerli kaydı kayıt kümesindeki son kayda konumlandırın.
CDaoRecordset::MoveNext Geçerli kaydı kayıt kümesindeki bir sonraki kayda konumlandırın.
CDaoRecordset::MovePrev Geçerli kaydı kayıt kümesindeki bir önceki kayda konumlandırın.
CDaoRecordset::Open Tablo, dinamik küme veya anlık görüntüden yeni bir kayıt kümesi oluşturur.
CDaoRecordset::Requery Seçilen kayıtları yenilemek için kayıt kümesinin sorgusunu yeniden çalıştırır.
CDaoRecordset::Seek Geçerli dizin için belirtilen ölçütleri karşılayan ve bu kaydı geçerli kaydı yapan, dizine alınan tablo türündeki kayıt kümesi nesnesinde kaydı bulur.
CDaoRecordset::SetAbsolutePosition Kayıt kümesi nesnesinin geçerli kaydının kayıt numarasını ayarlar.
CDaoRecordset::SetBookmark Kayıt kümesini belirtilen yer işaretini içeren bir kayda konumlandırıyor.
CDaoRecordset::SetCacheSize ODBC veri kaynağından yerel olarak önbelleğe alınabilecek verileri içeren dinamik küme türündeki kayıt sayısını belirten bir değer ayarlar.
CDaoRecordset::SetCacheStart Önbelleğe alınacak kayıt kümesindeki ilk kaydın yer işaretini belirten bir değer ayarlar.
CDaoRecordset::SetCurrentIndex Tablo türündeki bir kayıt kümesinde dizin ayarlamak için çağrılır.
CDaoRecordset::SetFieldDirty Geçerli kayıtta belirtilen alanı değiştirildi olarak işaretler.
CDaoRecordset::SetFieldNull Geçerli kayıtta belirtilen alanın değerini Null (değer olmadan) olarak ayarlar.
CDaoRecordset::SetFieldValue Kayıt kümesindeki bir alanın değerini ayarlar.
CDaoRecordset::SetFieldValueNull Kayıt kümesindeki bir alanın değerini Null olarak ayarlar. (değere sahip değil).
CDaoRecordset::SetLockingMode Düzenleme sırasında geçerli olacak kilitleme türünü gösteren bir değer ayarlar.
CDaoRecordset::SetParamValue Temel alınan DAOParameter nesnesinde depolanan belirtilen parametrenin geçerli değerini ayarlar
CDaoRecordset::SetParamValueNull Belirtilen parametrenin geçerli değerini Null (değer olmadan) olarak ayarlar.
CDaoRecordset::SetPercentPosition Geçerli kaydın konumunu, kayıt kümesindeki toplam kayıt sayısının yüzdesine karşılık gelen bir konuma ayarlar.
CDaoRecordset::Update Yeni veya Edit düzenlenmiş verileri veri kaynağına kaydederek veya AddNew işlemini tamamlar.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CDaoRecordset::m_bCheckCacheForDirtyFields Alanların otomatik olarak değiştirilmiş olarak işaretlenip işaretlenmediğini gösteren bir bayrak içerir.
CDaoRecordset::m_nFields Kayıt kümesi sınıfındaki alan veri üyesi sayısını ve veri kaynağından kayıt kümesi tarafından seçilen sütun sayısını içerir.
CDaoRecordset::m_nParams Kayıt kümesi sınıfındaki parametre veri üyesi sayısını içerir; kayıt kümesinin sorgusuyla geçirilen parametre sayısı
CDaoRecordset::m_pDAORecordset Kayıt kümesi nesnesini temel alan DAO arabirimine ilişkin bir işaretçi.
CDaoRecordset::m_pDatabase Bu sonuç kümesi için kaynak veritabanı. CDaoDatabase nesnesinin işaretçisini içerir.
CDaoRecordset::m_strFilter SQL WHERE deyimini oluşturmak için kullanılan bir dize içerir.
CDaoRecordset::m_strSort SQL ORDER BY deyimini oluşturmak için kullanılan bir dize içerir.

Açıklamalar

"Kayıt kümeleri" CDaoRecordset olarak bilinen nesneler aşağıdaki üç biçimde kullanılabilir:

  • Tablo türündeki kayıt kümeleri, tek bir veritabanı tablosundaki kayıtları incelemek, eklemek, değiştirmek veya silmek için kullanabileceğiniz bir temel tabloyu temsil eder.

  • Dinamik küme türündeki kayıt kümeleri, güncelleştirilebilir kayıtlara sahip olabilecek bir sorgunun sonucu olur. Bu kayıt kümeleri, temel alınan veritabanı tablosu veya tablolarındaki kayıtları incelemek, eklemek, değiştirmek veya silmek için kullanabileceğiniz bir kayıt kümesidir. Dinamik küme türündeki kayıt kümeleri, veritabanındaki bir veya daha fazla tablodan alanlar içerebilir.

  • Anlık görüntü türü kayıt kümeleri, verileri bulmak veya rapor oluşturmak için kullanabileceğiniz bir kayıt kümesinin statik bir kopyasıdır. Bu kayıt kümeleri bir veritabanındaki bir veya daha fazla tablodan alanlar içerebilir ancak güncelleştirilemez.

Her kayıt kümesi biçimi, kayıt kümesi açıldığında sabit olan bir kayıt kümesini temsil eder. Tablo türündeki bir kayıt kümesinde veya dinamik küme türündeki kayıt kümesinde bir kayda kaydırdığınızda, kayıt kümesi açıldıktan sonra kayıtta yapılan değişiklikleri (diğer kullanıcılar veya uygulamanızdaki diğer kayıt kümeleri) yansıtır. (Anlık görüntü türü kayıt kümesi güncelleştirilemez.) doğrudan kullanabilir CDaoRecordset veya uygulamasından CDaoRecordsetuygulamaya özgü bir kayıt kümesi sınıfı türetebilirsiniz. Ardından şunları yapabilirsiniz:

  • Kayıtlar arasında ilerleyin.

  • Bir dizin ayarlayın ve Seek kullanarak kayıtları hızla arayın (yalnızca tablo türündeki kayıt kümeleri).

  • Dize karşılaştırması temelinde kayıtları bulun: "<", "<=", "=", ">=" veya ">" (dinamik küme türü ve anlık görüntü türü kayıt kümeleri).

  • Kayıtları güncelleştirin ve bir kilitleme modu belirtin (anlık görüntü türü kayıt kümeleri dışında).

  • Veri kaynağında bulunan kayıtlardan hangi kayıtları seçtiğini kısıtlamak için kayıt kümesini filtreleyin.

  • Kayıt kümesini sıralayın.

  • Çalışma zamanına kadar bilinmeyen bilgilerle seçimini özelleştirmek için kayıt kümesini parametreleştirin.

Sınıfı CDaoRecordset , sınıfına CRecordsetbenzer bir arabirim sağlar. Temel fark, sınıfın CDaoRecordset OLE'yi temel alan bir Veri Erişim Nesnesi (DAO) aracılığıyla verilere erişmesidir. Sınıf CRecordset , DBMS'ye Açık Veritabanı Bağlantısı (ODBC) ve bu DBMS için bir ODBC sürücüsü aracılığıyla erişir.

Not

DAO veritabanı sınıfları, Açık Veritabanı Bağlantısı (ODBC) temelinde MFC veritabanı sınıflarından farklıdır. Tüm DAO veritabanı sınıf adları "CDao" ön ekini alır. DAO sınıfları ile ODBC veri kaynaklarına erişmeye devam edebilirsiniz; DAO sınıfları genellikle Microsoft Jet veritabanı altyapısına özgü olduklarından üstün özellikler sunar.

doğrudan kullanabilir CDaoRecordset veya öğesinden CDaoRecordsetbir sınıf türetebilirsiniz. Her iki durumda da bir kayıt kümesi sınıfı kullanmak için bir veritabanı açın ve oluşturucuyu nesnenize CDaoDatabase bir işaretçi geçirerek bir kayıt kümesi nesnesi oluşturma. Ayrıca bir CDaoRecordset nesne oluşturabilir ve MFC'nin sizin için geçici CDaoDatabase bir nesne oluşturmasına izin vekleyebilirsiniz. Ardından nesnenin tablo türü bir kayıt kümesi mi, dinamik küme türü kayıt kümesi mi yoksa anlık görüntü türü kayıt kümesi mi olduğunu belirterek kayıt kümesinin Open member işlevini çağırın. Çağrısı Open veritabanından verileri seçer ve ilk kaydı alır.

Kayıtlarda gezinmek ve bunlar üzerinde çalışmak için nesnenin üye işlevlerini ve veri üyelerini kullanın. Kullanılabilir işlemler, nesnenin tablo türü kayıt kümesi, dinamik küme türü kayıt kümesi veya anlık görüntü türü kayıt kümesi olmasına ve güncelleştirilebilir veya salt okunur olmasına bağlıdır; bu, veritabanının veya Açık Veritabanı Bağlantısı (ODBC) veri kaynağının özelliğine bağlıdır. Çağrıdan sonra Open değiştirilmiş veya eklenmiş olabilecek kayıtları yenilemek için nesnenin Requery üye işlevini çağırın. Nesnenin üye işlevini çağırın Close ve bitirdiğinizde nesneyi yok edin.

CDaoRecordsetveya CDaoRecordsettüretilmiş sınıfınızın CDaoRecordset tür açısından güvenli C++ üyeleri aracılığıyla kayıt alanlarının okunmasını ve güncelleştirilmesini desteklemek için DAO kayıt alanı değişimini (DFX) kullanır. GetFieldValue ve SetFieldValue kullanarak DFX mekanizmasını kullanmadan veritabanındaki sütunların dinamik bağlamasını da uygulayabilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "Kayıt Kümesi Nesnesi" konusuna bakın.

Devralma Hiyerarşisi

CObject

CDaoRecordset

Gereksinimler

Üst bilgi: afxdao.h

CDaoRecordset::AddNew

Tablo türüne veya dynaset türündeki kayıt kümesine yeni bir kayıt eklemek için bu üye işlevini çağırabilirsiniz.

virtual void AddNew();

Açıklamalar

Kaydın alanları başlangıçta Null olur. (Veritabanı terminolojisinde Null değerin olmadığı anlamına gelir ve C++'da NULL ile aynı değildir.) İşlemi tamamlamak için Update member işlevini çağırmanız gerekir. Update değişikliklerinizi veri kaynağına kaydeder.

Dikkat

Bir kaydı düzenler ve aramadan Updatebaşka bir kayda kaydırırsanız, değişiklikleriniz uyarı olmadan kaybolur.

AddNew çağrısı yaparak dinamik küme türündeki bir kayıt kümesine kayıt eklerseniz kayıt kayıt kümesinde görünür ve tüm yeni CDaoRecordset nesneler için görünür hale geldiği temel tabloya eklenir.

Yeni kaydın konumu kayıt kümesinin türüne bağlıdır:

  • Yeni kaydın eklendiği dynaset türündeki kayıt kümesi garanti edilmez. Bu davranış, performans ve eşzamanlılık nedeniyle Microsoft Jet 3.0 ile değişti. Hedefiniz yeni eklenen kaydı geçerli kayıt yapmaksa, son değiştirilen kaydın yer işaretini alın ve bu yer işaretine geçin:
rs.SetBookmark(rs.GetLastModifiedBookmark());
  • Dizininin belirtildiği tablo türündeki bir kayıt kümesinde, kayıtlar sıralama düzeninde uygun yerlerinde döndürülür. Dizin belirtilmediyse, kayıt kümesinin sonunda yeni kayıtlar döndürülür.

Kullanmadan AddNew önce geçerli olan kayıt geçerli kalır. Yeni kaydı güncel hale getirmek istiyorsanız ve kayıt kümesi yer işaretlerini destekliyorsa, temel alınan DAO kayıt kümesi nesnesinin LastModified özellik ayarıyla tanımlanan yer işaretine SetBookmark'ı çağırın. Bunu yapmak, eklenen bir kayıttaki sayaç (otomatik artırma) alanlarının değerini belirlemek için yararlıdır. Daha fazla bilgi için bkz . GetLastModifiedBookmark.

Veritabanı işlemleri destekliyorsa, aramanızı AddNew bir işlemin parçası yapabilirsiniz. İşlemler hakkında daha fazla bilgi için bkz. CDaoWorkspace sınıfı. çağırmadan önce CDaoWorkspace::BeginTrans çağrısı AddNewyapmanız gerektiğini unutmayın.

Open member işlevi çağrılmamış bir kayıt kümesini çağırmak AddNew geçersizdir. CDaoException Eklenemeyen bir kayıt kümesi çağırırsanız AddNew bir oluşturulur. CanAppend'i çağırarak kayıt kümesinin güncelleştirilebilir olup olmadığını belirleyebilirsiniz.

Çerçeve, daO kayıt alanı değişimi (DFX) mekanizması tarafından veri kaynağındaki kayda yazılacaklarından emin olmak için değiştirilen alan veri üyelerini işaretler. Bir alanın değerinin değiştirilmesi genellikle alanı otomatik olarak kirli olarak ayarlar, bu nedenle nadiren SetFieldDirty'yi çağırmanız gerekmez, ancak bazen alan veri üyesindeki değerden bağımsız olarak sütunların açıkça güncelleştirilmesini veya eklenmesini sağlamak isteyebilirsiniz. DFX mekanizması, PSEUDO NULL kullanımını da kullanır. Daha fazla bilgi için bkz . CDaoFieldExchange::m_nOperation.

Çift arabelleğe alma mekanizması kullanılmıyorsa, alanın değerini değiştirmek alanı otomatik olarak kirli olarak ayarlamaz. Bu durumda, alanı açıkça kirli olarak ayarlamak gerekir. m_bCheckCacheForDirtyFields içindeki bayrak bu otomatik alan denetimini denetler.

Not

Kayıtlar çift arabelleğe alınırsa (yani, otomatik alan denetimi etkinleştirilirse), çağrılması CancelUpdate üye değişkenlerini daha önce AddNew sahip oldukları veya Edit çağrıldıkları değerlere geri yükler.

İlgili bilgiler için DAO Yardımı'ndaki "AddNew Method", "CancelUpdate Yöntemi", "LastModified Özelliği" ve "EditMode Özelliği" konularına bakın.

CDaoRecordset::CanAppend

Daha önce açılmış kayıt kümesinin AddNew üye işlevini çağırarak yeni kayıtlar eklemenize izin verip vermediğini belirlemek için bu üye işlevini çağırın.

BOOL CanAppend() const;

Dönüş Değeri

Kayıt kümesi yeni kayıtlar eklemeye izin veriyorsa sıfır olmayan; aksi takdirde 0. CanAppend kayıt kümesini salt okunur olarak açtıysanız 0 döndürür.

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "Ekleme Yöntemi" konusuna bakın.

CDaoRecordset::CanBookmark

Daha önce açılmış kayıt kümesinin yer işaretlerini kullanarak kayıtları ayrı ayrı işaretlemenize izin verip vermediğini belirlemek için bu üye işlevini çağırın.

BOOL CanBookmark();

Dönüş Değeri

Kayıt kümesi yer işaretlerini destekliyorsa sıfır olmayan, aksi takdirde 0.

Açıklamalar

Tamamen Microsoft Jet veritabanı altyapısı tablolarını temel alan kayıt kümeleri kullanıyorsanız, yer işaretleri yalnızca ileriye doğru kaydırma kayıt kümeleri olarak işaretlenmiş anlık görüntü türü kayıt kümeleri dışında kullanılabilir. Diğer veritabanı ürünleri (dış ODBC veri kaynakları) yer işaretlerini desteklemeyebilir.

İlgili bilgiler için DAO Yardımı'ndaki "Yer İşaretlenebilir Özellik" konusuna bakın.

CDaoRecordset::CancelUpdate

Üye CancelUpdate işlevi, Düzenle veya EkleYeni işlem nedeniyle bekleyen güncelleştirmeleri iptal eder.

virtual void CancelUpdate();

Açıklamalar

Örneğin, bir uygulama veya AddNew üye işlevini çağırırsa Edit ve Güncelleştir'i çağırmadıysa, CancelUpdate sonra Edit yapılan veya AddNew çağrılan değişiklikleri iptal eder.

Not

Kayıtlar çift arabelleğe alınırsa (yani, otomatik alan denetimi etkinleştirilirse), çağrılması CancelUpdate üye değişkenlerini daha önce AddNew sahip oldukları veya Edit çağrıldıkları değerlere geri yükler.

Bekleyen bir veya AddNew işlemi yoksaEdit, CancelUpdate MFC'nin bir özel durum oluşturmasına neden olur. İptal edilebilecek bekleyen bir işlem olup olmadığını belirlemek için GetEditMode üye işlevini çağırın.

İlgili bilgiler için DAO Yardımı'ndaki "CancelUpdate Yöntemi" konusuna bakın.

CDaoRecordset::CanRestart

Kayıt kümesinin üye işlevini çağırarak sorgunun yeniden başlatılmasına (kayıtlarını yenilemek için) izin verip vermediğini belirlemek için bu üye işlevini çağırın Requery .

BOOL CanRestart();

Dönüş Değeri

Sıfır olmayan ise Requery , kayıt kümesinin sorgusunu yeniden çalıştırmak için çağrılabilir, aksi takdirde 0.

Açıklamalar

Tablo türündeki kayıt kümeleri desteklemez Requery.

DesteklenmiyorsaRequery, verileri yenilemek için Kapat'ı ve ardından Aç'ı çağırın. Parametre değerleri değiştirildikten sonra kayıt kümesi nesnesinin temel parametre sorgusunu güncelleştirmek için çağırabilirsiniz Requery .

İlgili bilgiler için DAO Yardımı'ndaki "Yeniden Başlatılabilir Özellik" konusuna bakın.

CDaoRecordset::CanScroll

Kayıt kümesinin kaydırmaya izin verip vermediğini belirlemek için bu üye işlevini çağırın.

BOOL CanScroll() const;

Dönüş Değeri

Kayıtları kaydırabiliyorsanız sıfır olmayan, aksi takdirde 0.

Açıklamalar

ile dbForwardOnlyAç'ı çağırırsanız kayıt kümesi yalnızca ileri doğru kaydırılabilir.

İlgili bilgiler için DAO Yardımı'ndaki "Geçerli Kayıt İşaretçisini DAO ile Konumlandırma" konusuna bakın.

CDaoRecordset::CanTransact

Kayıt kümesinin işlemlere izin verip vermediğini belirlemek için bu üye işlevini çağırın.

BOOL CanTransact();

Dönüş Değeri

Temel alınan veri kaynağı işlemleri destekliyorsa sıfır olmayan, aksi takdirde 0.

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "İşlemler Özelliği" konusuna bakın.

CDaoRecordset::CanUpdate

Kayıt kümesinin güncelleştirilip güncelleştirilemeyeceğini belirlemek için bu üye işlevini çağırın.

BOOL CanUpdate() const;

Dönüş Değeri

Kayıt kümesinin güncelleştirilip güncelleştirilemediğini (kayıtları ekleme, güncelleştirme ve silme) sıfır olmayan, aksi takdirde 0.

Açıklamalar

Temel alınan veri kaynağı salt okunursa veya kayıt kümesi için Aç'ı çağırdığınızda nOptions için belirttiyseniz dbReadOnly kayıt kümesi salt okunur olabilir.

İlgili bilgiler için DAO Yardımı'ndaki "AddNew Method", "Edit Method", "Delete Method", "Update Method" ve "Updatable Property" konularına bakın.

CDaoRecordset::CDaoRecordset

Bir CDaoRecordset nesne oluşturur.

CDaoRecordset(CDaoDatabase* pDatabase = NULL);

Parametreler

pDatabase
CDaoDatabase nesnesine veya NULL değerine ilişkin bir işaretçi içerir. NULL değilse ve nesnenin CDaoDatabase Open üye işlevi veri kaynağına bağlamak için çağrılmadıysa, kayıt kümesi kendi Open çağrısı sırasında sizin için açmaya çalışır. NULL geçirirseniz, kayıt kümesi sınıfınızı öğesinden CDaoRecordsettüretdiyseniz belirttiğiniz veri kaynağı bilgileri kullanılarak sizin için bir CDaoDatabase nesne oluşturulur ve bağlanır.

Açıklamalar

Doğrudan kullanabilir CDaoRecordset veya uygulamasından CDaoRecordsetuygulamaya özgü bir sınıf türetebilirsiniz. Kayıt kümesi sınıflarınızı türetmek için ClassWizard kullanabilirsiniz.

Not

Bir CDaoRecordset sınıf türetirseniz, türetilmiş sınıfınızın kendi oluşturucusunu sağlaması gerekir. Türetilmiş sınıfınızın oluşturucusunda oluşturucuyu CDaoRecordset::CDaoRecordsetçağırın ve uygun parametreleri ona geçirin.

Sizin için otomatik olarak bir CDaoDatabase nesnenin oluşturup bağlanması için null değerini kayıt kümesi oluşturucunuza geçirin. Bu, kayıt kümenizi oluşturmadan önce bir nesne oluşturmanızı ve bağlamanızı gerektirmeyen kullanışlı bir CDaoDatabase kısayoldur. CDaoDatabase Nesne açık değilse, varsayılan çalışma alanını kullanan bir CDaoWorkspace nesnesi de oluşturulur. Daha fazla bilgi için bkz . CDaoDatabase::CDaoDatabase.

CDaoRecordset::Close

Bir CDaoRecordset nesneyi kapatmak, nesneyi ilişkili veritabanındaki açık kayıt kümeleri koleksiyonundan kaldırır.

virtual void Close();

Açıklamalar

Nesneyi Close yok CDaoRecordset etmediğinden, aynı veri kaynağında veya farklı bir veri kaynağında çağırarak Open nesneyi yeniden kullanabilirsiniz.

Bekleyen tüm AddNew veya Edit deyimleri iptal edilir ve bekleyen tüm işlemler geri alınır. Bekleyen eklemeleri veya düzenlemeleri korumak istiyorsanız, her kayıt kümesini çağırmadan önce Update'i çağırabilirsiniz.Close

çağrısı yaptıktan sonra yeniden arayabilirsiniz Open Close. Bu, kayıt kümesi nesnesini yeniden kullanmanıza olanak tanır. Mümkünse Requery'yi çağırmak daha iyi bir alternatiftir.

İlgili bilgiler için DAO Yardımı'ndaki "Yöntemi Kapat" konusuna bakın.

CDaoRecordset::D elete

Açık bir dynaset türü veya tablo türü kayıt kümesi nesnesindeki geçerli kaydı silmek için bu üye işlevini çağırın.

virtual void Delete();

Açıklamalar

Başarılı bir silme işleminden sonra, kayıt kümesinin alan veri üyeleri Null değerine ayarlanır ve silinen kayıttan uzaklaşmak için kayıt kümesi gezinti üyesi işlevlerinden birini ( Move, Seek, SetBookmark vb.) açıkça çağırmanız gerekir. Kayıt kümesinden kayıtları sildiğinizde, çağırmadan Deleteönce kayıt kümesinde geçerli bir kayıt olmalıdır; aksi takdirde, MFC bir özel durum oluşturur.

Delete geçerli kaydı kaldırır ve erişilemez hale getirir. Silinen kaydı düzenleyemez veya kullanamazsınız ancak geçerli kalır. Ancak başka bir kayda geçtikten sonra silinen kaydı yeniden geçerli yapamazsınız.

Dikkat

kayıt kümesinin güncelleştirilebilir olması ve çağırdığınızda Deletekayıt kümesinde geçerli bir kayıt olması gerekir. Örneğin, bir kaydı silerseniz ancak yeniden aramadan Delete önce yeni bir kayda kaydırmazsanız, Delete bir CDaoException oluşturur.

İşlemleri kullanıyorsanız ve CDaoWorkspace::Rollback üye işlevini çağırırsanız kaydın geri alma işlemini kaldırabilirsiniz. Temel tablo art arda silme ilişkisindeki birincil tabloysa, geçerli kaydın silinmesi yabancı tablodaki bir veya daha fazla kaydı da silebilir. Daha fazla bilgi için DAO Yardımı'ndaki "art arda silme" tanımına bakın.

ve Edit'den farklı AddNew olarak Delete çağrısının ardından Updateçağrısı yapılmaz.

İlgili bilgiler için DAO Yardımı'ndaki "AddNew Method", "Edit Method", "Delete Method", "Update Method" ve "Updatable Property" konularına bakın.

CDaoRecordset::D oFieldExchange

Çerçeve, kayıt kümesi nesnenizin alan veri üyeleriyle veri kaynağındaki geçerli kaydın ilgili sütunları arasında otomatik olarak veri alışverişi yapmak için bu üye işlevini çağırır.

virtual void DoFieldExchange(CDaoFieldExchange* pFX);

Parametreler

Pfx
Bir nesnenin işaretçisini CDaoFieldExchange içerir. Çerçeve, alan değişimi işlemi için bir bağlam belirtmek üzere bu nesneyi zaten ayarlamış olacaktır.

Açıklamalar

Ayrıca, varsa parametre veri üyelerinizi kayıt kümesinin seçimi için SQL deyimi dizesindeki parametre yer tutucularına bağlar. DAO kayıt alanı değişimi (DFX) olarak adlandırılan alan verilerinin değişimi her iki yönde de çalışır: kayıt kümesi nesnesinin alan veri üyelerinden veri kaynağındaki kaydın alanlarına ve veri kaynağındaki kayıttan kayıt kümesi nesnesine. Sütunları dinamik olarak bağlarsanız, uygulamanız DoFieldExchangegerekmez.

Türetilmiş kayıt kümesi sınıfınız için uygulamak DoFieldExchange için normalde gerçekleştirmeniz gereken tek eylem, sınıfı ClassWizard ile oluşturmak ve alan veri üyelerinin adlarını ve veri türlerini belirtmektir. Ayrıca ClassWizard'ın parametre veri üyelerini belirtmek için yazdığı koda da kod ekleyebilirsiniz. Tüm alanlar dinamik olarak bağlanacaksa, parametre veri üyelerini belirtmediğiniz sürece bu işlev devre dışı kalır.

ClassWizard ile türetilmiş kayıt kümesi sınıfınızı bildirdiğinizde, sihirbaz sizin için aşağıdaki örneğe benzer bir geçersiz kılma DoFieldExchange yazar:

void CCustSet::DoFieldExchange(CDaoFieldExchange *pFX)
{
   pFX->SetFieldType(CDaoFieldExchange::param);
   DFX_Text(pFX, _T("Param"), m_strParam);
   pFX->SetFieldType(CDaoFieldExchange::outputColumn);
   DFX_Short(pFX, _T("EmployeeID"), m_EmployeeID);
   DFX_Text(pFX, _T("LastName"), m_LastName);
   DFX_Short(pFX, _T("Age"), m_Age);
   DFX_DateTime(pFX, _T("hire_date"), m_hire_date);
   DFX_DateTime(pFX, _T("termination_date"), m_termination_date);

   CDaoRecordset::DoFieldExchange(pFX);
}

CDaoRecordset::Edit

Geçerli kayıtta değişikliklere izin vermek için bu üye işlevini çağırın.

virtual void Edit();

Açıklamalar

Üye işlevini çağırdığınızda Edit , geçerli kaydın alanlarında yapılan değişiklikler kopyalama arabelleğine kopyalanır. Kayıtta istediğiniz değişiklikleri yaptıktan sonra, değişikliklerinizi kaydetmek için arayın Update . Edit kayıt kümesinin veri üyelerinin değerlerini kaydeder. çağrısı Edityaparsanız, değişiklik yapın ve yeniden çağırın Edit ; kaydın değerleri ilk Edit çağrıdan önceki değerlerine geri yüklenir.

Dikkat

Bir kaydı düzenler ve sonra başka bir kayda taşınan herhangi bir işlemi ilk çağrılmadan Updategerçekleştirirseniz, değişiklikleriniz uyarı olmadan kaybolur. Ayrıca, kayıt kümesini veya üst veritabanını kapatırsanız, düzenlenen kaydınız uyarı olmadan atılır.

Bazı durumlarda, sütunu Null (veri içermeyen) yaparak güncelleştirmek isteyebilirsiniz. Bunu yapmak için, Null alanını işaretlemek için TRUE parametresiyle çağrısı SetFieldNull yapın; bu, sütunun güncelleştirilmesine de neden olur. Değeri değişmemiş olsa bile bir alanın veri kaynağına yazılmasını istiyorsanız, TRUE parametresiyle çağrısında SetFieldDirty bulunun. Bu, alanda Null değeri olsa bile çalışır.

Çerçeve, daO kayıt alanı değişimi (DFX) mekanizması tarafından veri kaynağındaki kayda yazılacaklarından emin olmak için değiştirilen alan veri üyelerini işaretler. Bir alanın değerinin değiştirilmesi genellikle alanı otomatik olarak kirli olarak ayarlar, bu nedenle nadiren SetFieldDirty'yi çağırmanız gerekmez, ancak bazen alan veri üyesindeki değerden bağımsız olarak sütunların açıkça güncelleştirilmesini veya eklenmesini sağlamak isteyebilirsiniz. DFX mekanizması, PSEUDO NULL kullanımını da kullanır. Daha fazla bilgi için bkz . CDaoFieldExchange::m_nOperation.

Çift arabelleğe alma mekanizması kullanılmıyorsa, alanın değerini değiştirmek alanı otomatik olarak kirli olarak ayarlamaz. Bu durumda, alanı açıkça kirli olarak ayarlamak gerekir. m_bCheckCacheForDirtyFields içindeki bayrak bu otomatik alan denetimini denetler.

Kayıt kümesi nesnesi çok kullanıcılı bir ortamda kötümser bir şekilde kilitlendiğinde, kayıt güncelleştirme tamamlanana kadar kullanılan zamandan Edit itibaren kilitli kalır. Kayıt kümesi iyimser bir şekilde kilitlenmişse, kayıt kilitlenir ve veritabanında güncelleştirilmeden hemen önce önceden düzenlenmiş kayıtla karşılaştırılır. çağırdığınızdan EditUpdate beri kayıt değiştiyse işlem başarısız olur ve MFC bir özel durum oluşturur. ile SetLockingModekilitleme modunu değiştirebilirsiniz.

Not

İyimser kilitleme her zaman ODBC ve yüklenebilir ISAM gibi dış veritabanı biçimlerinde kullanılır.

çağrısından Editsonra geçerli kayıt güncel kalır. çağrısı Edityapmak için geçerli bir kayıt olmalıdır. Geçerli kayıt yoksa veya kayıt kümesi açık bir tablo türüne veya dynaset türündeki kayıt kümesi nesnesine başvurmuyorsa, bir özel durum oluşur. Çağırma Edit , aşağıdaki koşullarda bir CDaoException oluşturmasına neden olur:

  • Geçerli kayıt yok.

  • Veritabanı veya kayıt kümesi salt okunurdur.

  • Kayıttaki hiçbir alan güncelleştirilebilir değil.

  • Veritabanı veya kayıt kümesi başka bir kullanıcı tarafından özel kullanım için açıldı.

  • Başka bir kullanıcı kaydınızı içeren sayfayı kilitledi.

Veri kaynağı işlemleri destekliyorsa, çağrıyı Edit bir işlemin parçası yapabilirsiniz. Çağırmadan Edit önce ve kayıt kümesi açıldıktan sonra aramanız CDaoWorkspace::BeginTrans gerektiğini unutmayın. Ayrıca, işlemi tamamlamak Edit için çağırmanın CDaoWorkspace::CommitTrans çağrının Update yerini almadığını unutmayın. İşlemler hakkında daha fazla bilgi için bkz. sınıfı CDaoWorkspace.

İlgili bilgiler için DAO Yardımı'ndaki "AddNew Method", "Edit Method", "Delete Method", "Update Method" ve "Updatable Property" konularına bakın.

CDaoRecordset::FillCache

Kayıt kümesinden belirtilen sayıda kaydı önbelleğe almak için bu üye işlevini çağırın.

void FillCache(
    long* pSize = NULL,
    COleVariant* pBookmark = NULL);

Parametreler

pSize
Önbelleği dolduracak satır sayısını belirtir. Bu parametreyi atlarsanız, değer temel alınan DAO nesnesinin CacheSize özellik ayarı tarafından belirlenir.

pBookmark
Yer işareti belirten bir COleVariant . Önbellek, bu yer işareti tarafından belirtilen kayıttan başlayarak doldurulur. Bu parametreyi atlarsanız, temel alınan DAO nesnesinin CacheStart özelliği tarafından belirtilen kayıttan başlayarak önbellek doldurulur.

Açıklamalar

Önbelleğe alma, uzak sunucudan veri alan veya getiren bir uygulamanın performansını artırır. Önbellek, uygulama çalışırken verilerin büyük olasılıkla yeniden isteneceği varsayımı üzerine sunucudan en son getirilen verileri tutan yerel bellek alanıdır. Veriler istendiğinde, Microsoft Jet veritabanı altyapısı verileri sunucudan getirmek yerine önce önbelleği denetler ve bu da daha fazla zaman alır. ODBC olmayan veri kaynaklarında veri önbelleğe alma özelliğinin kullanılması, veriler önbelleğe kaydedilmediğinden hiçbir etkisi olmaz.

Önbelleğin getirildikleri sırada kayıtlarla doldurulmalarını beklemek yerine, istediğiniz zaman üye işlevini çağırarak FillCache önbelleği açıkça doldurabilirsiniz. Bu, önbelleği doldurmanın daha hızlı bir yoludur çünkü FillCache bir kerede bir kayıt yerine aynı anda birkaç kayıt getirir. Örneğin, kayıtların her bir filtresi görüntülenirken, bir sonraki kayıt ekranını getirmek için uygulama çağrınızın FillCache olmasını sağlayabilirsiniz.

Kayıt kümesi nesneleriyle erişilen tüm ODBC veritabanları yerel önbelleğe sahip olabilir. Önbelleği oluşturmak için uzak veri kaynağından bir kayıt kümesi nesnesi açın ve kayıt kümesinin SetCacheSize ve SetCacheStart üye işlevlerini çağırın. lSize ve lBookmark ile belirtilen SetCacheSize SetCacheStartaralığın kısmen veya tamamen dışında bir aralık oluşturursa, kayıt kümesinin bu aralığın dışındaki bölümü yoksayılır ve önbelleğe yüklenmez. FillCache Uzak veri kaynağında kalandan daha fazla kayıt isterse, yalnızca kalan kayıtlar getirilir ve hiçbir özel durum oluşturulur.

Önbellekten getirilen kayıtlar, diğer kullanıcılar tarafından kaynak verilerde eşzamanlı olarak yapılan değişiklikleri yansıtmaz.

FillCache yalnızca henüz önbelleğe alınmamış kayıtları getirir. Önbelleğe alınan tüm verilerin güncelleştirmeyi zorlamak için üye işlevini 0'a eşit bir lSize parametresiyle çağırın SetCacheSize , ilk olarak istediğiniz önbelleğin boyutuna eşit lSize parametresiyle yeniden çağırın SetCacheSize ve çağrısı yapınFillCache.

İlgili bilgiler için DAO Yardımı'ndaki "FillCache Yöntemi" konusuna bakın.

CDaoRecordset::Find

Bir karşılaştırma işleci kullanarak dinamik küme veya anlık görüntü türü kayıt kümesindeki belirli bir dizeyi bulmak için bu üye işlevini çağırın.

virtual BOOL Find(
    long lFindType,
    LPCTSTR lpszFilter);

Parametreler

lFindType
İstenen Find işleminin türünü gösteren değer. Olası değerler:

  • AFX_DAO_NEXT Eşleşen dizenin sonraki konumunu bulun.

  • AFX_DAO_PREV Eşleşen dizenin önceki konumunu bulun.

  • AFX_DAO_FIRST Eşleşen dizenin ilk konumunu bulun.

  • AFX_DAO_LAST Eşleşen dizenin son konumunu bulun.

lpszFilter
Kaydı bulmak için kullanılan dize ifadesi (WHERE sözcüğü olmayan bir SQL deyimindeki WHERE yan tümcesi gibi). Örneğin:

rs.Find(AFX_DAO_FIRST, _T("EmployeeID = 7"));
rs.Find(AFX_DAO_NEXT, _T("LastName = 'Jones'"));

Dönüş Değeri

Eşleşen kayıtlar bulunursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

Dizenin ilk, sonraki, önceki veya son örneğini bulabilirsiniz. Find sanal bir işlevdir, bu nedenle bunu geçersiz kılabilir ve kendi uygulamanızı ekleyebilirsiniz. , , ve üye işlevleri üye işlevini çağırırFind, böylece tüm Bul işlemlerinin davranışını denetlemek için kullanabilirsinizFind.FindPrev FindNextFindLastFindFirst

Tablo türündeki kayıt kümesindeki bir kaydı bulmak için Seek member işlevini çağırın.

İpucu

Sahip olduğunuz kayıt kümesi ne kadar küçük olursa, o kadar etkili Find olur. Genel olarak ve özellikle ODBC verilerinde, yalnızca istediğiniz kayıtları alan yeni bir sorgu oluşturmak daha iyidir.

İlgili bilgiler için DAO Yardımı'ndaki "FindFirst, FindLast, FindNext, FindPrevious Methods" konusuna bakın.

CDaoRecordset::FindFirst

Belirtilen koşulla eşleşen ilk kaydı bulmak için bu üye işlevini çağırın.

BOOL FindFirst(LPCTSTR lpszFilter);

Parametreler

lpszFilter
Kaydı bulmak için kullanılan dize ifadesi (WHERE sözcüğü olmayan bir SQL deyimindeki WHERE yan tümcesi gibi).

Dönüş Değeri

Eşleşen kayıtlar bulunursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

FindFirst Üye işlevi, aramaya kayıt kümesinin başından başlar ve kayıt kümesinin sonuna kadar arar.

Aramanıza tüm kayıtları dahil etmek istiyorsanız (yalnızca belirli bir koşulu karşılayanları değil) kayıttan kayda geçmek için Taşıma işlemlerinden birini kullanın. Tablo türündeki kayıt kümesindeki bir kaydı bulmak için üye işlevini çağırın Seek .

Ölçütle eşleşen bir kayıt bulunmazsa, geçerli kayıt işaretçisi belirsizdir ve FindFirst sıfır döndürür. Kayıt kümesi ölçütleri karşılayan birden fazla kayıt içeriyorsa, FindFirst ilk oluşumu bulur, FindNext sonraki oluşumu bulur vb.

Dikkat

Geçerli kaydı düzenlerseniz, başka bir kayda geçmeden önce üye işlevini çağırarak Update değişiklikleri kaydettiğinizden emin olun. Güncelleştirmeden başka bir kayda geçerseniz, değişiklikleriniz uyarı olmadan kaybolur.

Find Üye işlevleri, konumdan ve aşağıdaki tabloda belirtilen yönde arama yapar:

İşlemleri bulma Başla Arama yönü
FindFirst Kayıt kümesinin başlangıcı Kayıt kümesi sonu
FindLast Kayıt kümesi sonu Kayıt kümesinin başlangıcı
FindNext Geçerli kayıt Kayıt kümesi sonu
FindPrevious Geçerli kayıt Kayıt kümesinin başlangıcı

Not

çağrısı FindLastyaptığınızda, bu henüz yapılmamışsa, Microsoft Jet veritabanı altyapısı aramaya başlamadan önce kayıt kümenizi tamamen doldurur. İlk arama sonraki aramalardan daha uzun sürebilir.

Bul işlemlerinden birini kullanmak veya MoveNextçağrısıyla MoveFirst aynı değildir, ancak bu durum yalnızca bir koşul belirtmeden ilk veya sonraki kaydı geçerli hale getirir. Taşıma işlemiyle Bir Bul işlemini izleyebilirsiniz.

Bul işlemlerini kullanırken aşağıdakileri göz önünde bulundurun:

  • Sıfır olmayan döndürürse Find geçerli kayıt tanımlanmaz. Bu durumda, geçerli kayıt işaretçisini geçerli bir kayda geri konumlandırmanız gerekir.

  • Find işlemini yalnızca ileriye doğru kaydırma anlık görüntü türü kayıt kümesiyle kullanamazsınız.

  • Microsoft Jet veritabanı altyapısının ABD sürümünü kullanmıyor olsanız bile tarih içeren alanları ararken ABD tarih biçimini (ay-gün-yıl) kullanmanız gerekir; aksi takdirde eşleşen kayıtlar bulunamayabilir.

  • ODBC veritabanları ve büyük dinamik kümelerle çalışırken, özellikle büyük kayıt kümeleriyle çalışırken Bul işlemlerini kullanmanın yavaş olduğunu fark edebilirsiniz. Özelleştirilmiş ORDERBY veya WHERE yan tümceleri, parametre sorguları veya CDaoQuerydef belirli dizinlenmiş kayıtları alan nesnelerle SQL sorgularını kullanarak performansı geliştirebilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "FindFirst, FindLast, FindNext, FindPrevious Methods" konusuna bakın.

CDaoRecordset::FindLast

Belirtilen koşulla eşleşen son kaydı bulmak için bu üye işlevini çağırın.

BOOL FindLast(LPCTSTR lpszFilter);

Parametreler

lpszFilter
Kaydı bulmak için kullanılan dize ifadesi (WHERE sözcüğü olmayan bir SQL deyimindeki WHERE yan tümcesi gibi).

Dönüş Değeri

Eşleşen kayıtlar bulunursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

FindLast Üye işlevi, aramasına kayıt kümesinin sonunda başlar ve kayıt kümesinin başına doğru geriye doğru arar.

Aramanıza tüm kayıtları dahil etmek istiyorsanız (yalnızca belirli bir koşulu karşılayanları değil) kayıttan kayda geçmek için Taşıma işlemlerinden birini kullanın. Tablo türündeki kayıt kümesindeki bir kaydı bulmak için üye işlevini çağırın Seek .

Ölçütle eşleşen bir kayıt bulunmazsa, geçerli kayıt işaretçisi belirsizdir ve FindLast sıfır döndürür. Kayıt kümesi ölçütleri karşılayan birden fazla kayıt içeriyorsa, FindFirst ilk oluşumu bulur, FindNext ilk oluşumdan sonraki oluşumu bulur ve bu şekilde devam eder.

Dikkat

Geçerli kaydı düzenlerseniz, başka bir kayda geçmeden önce üye işlevini çağırarak Update değişiklikleri kaydettiğinizden emin olun. Güncelleştirmeden başka bir kayda geçerseniz, değişiklikleriniz uyarı olmadan kaybolur.

Bul işlemlerinden birini kullanmak veya MoveNextçağrısıyla MoveFirst aynı değildir, ancak bu durum yalnızca bir koşul belirtmeden ilk veya sonraki kaydı geçerli hale getirir. Taşıma işlemiyle Bir Bul işlemini izleyebilirsiniz.

Bul işlemlerini kullanırken aşağıdakileri göz önünde bulundurun:

  • Sıfır olmayan döndürürse Find geçerli kayıt tanımlanmaz. Bu durumda, geçerli kayıt işaretçisini geçerli bir kayda geri konumlandırmanız gerekir.

  • Find işlemini yalnızca ileriye doğru kaydırma anlık görüntü türü kayıt kümesiyle kullanamazsınız.

  • Microsoft Jet veritabanı altyapısının ABD sürümünü kullanmıyor olsanız bile tarih içeren alanları ararken ABD tarih biçimini (ay-gün-yıl) kullanmanız gerekir; aksi takdirde eşleşen kayıtlar bulunamayabilir.

  • ODBC veritabanları ve büyük dinamik kümelerle çalışırken, özellikle büyük kayıt kümeleriyle çalışırken Bul işlemlerini kullanmanın yavaş olduğunu fark edebilirsiniz. Özelleştirilmiş ORDERBY veya WHERE yan tümceleri, parametre sorguları veya CDaoQuerydef belirli dizinlenmiş kayıtları alan nesnelerle SQL sorgularını kullanarak performansı geliştirebilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "FindFirst, FindLast, FindNext, FindPrevious Methods" konusuna bakın.

CDaoRecordset::FindNext

Belirtilen koşulla eşleşen bir sonraki kaydı bulmak için bu üye işlevini çağırın.

BOOL FindNext(LPCTSTR lpszFilter);

Parametreler

lpszFilter
Kaydı bulmak için kullanılan dize ifadesi (WHERE sözcüğü olmayan bir SQL deyimindeki WHERE yan tümcesi gibi).

Dönüş Değeri

Eşleşen kayıtlar bulunursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

FindNext Üye işlevi aramasına geçerli kayıtta başlar ve kayıt kümesinin sonuna kadar arar.

Aramanıza tüm kayıtları dahil etmek istiyorsanız (yalnızca belirli bir koşulu karşılayanları değil) kayıttan kayda geçmek için Taşıma işlemlerinden birini kullanın. Tablo türündeki kayıt kümesindeki bir kaydı bulmak için üye işlevini çağırın Seek .

Ölçütle eşleşen bir kayıt bulunmazsa, geçerli kayıt işaretçisi belirsizdir ve FindNext sıfır döndürür. Kayıt kümesi ölçütleri karşılayan birden fazla kayıt içeriyorsa, FindFirst ilk oluşumu bulur, FindNext sonraki oluşumu bulur vb.

Dikkat

Geçerli kaydı düzenlerseniz, başka bir kayda geçmeden önce üye işlevini çağırarak Update değişiklikleri kaydettiğinizden emin olun. Güncelleştirmeden başka bir kayda geçerseniz, değişiklikleriniz uyarı olmadan kaybolur.

Bul işlemlerinden birini kullanmak veya MoveNextçağrısıyla MoveFirst aynı değildir, ancak bu durum yalnızca bir koşul belirtmeden ilk veya sonraki kaydı geçerli hale getirir. Taşıma işlemiyle Bir Bul işlemini izleyebilirsiniz.

Bul işlemlerini kullanırken aşağıdakileri göz önünde bulundurun:

  • Sıfır olmayan döndürürse Find geçerli kayıt tanımlanmaz. Bu durumda, geçerli kayıt işaretçisini geçerli bir kayda geri konumlandırmanız gerekir.

  • Find işlemini yalnızca ileriye doğru kaydırma anlık görüntü türü kayıt kümesiyle kullanamazsınız.

  • Microsoft Jet veritabanı altyapısının ABD sürümünü kullanmıyor olsanız bile tarih içeren alanları ararken ABD tarih biçimini (ay-gün-yıl) kullanmanız gerekir; aksi takdirde eşleşen kayıtlar bulunamayabilir.

  • ODBC veritabanları ve büyük dinamik kümelerle çalışırken, özellikle büyük kayıt kümeleriyle çalışırken Bul işlemlerini kullanmanın yavaş olduğunu fark edebilirsiniz. Özelleştirilmiş ORDERBY veya WHERE yan tümceleri, parametre sorguları veya CDaoQuerydef belirli dizinlenmiş kayıtları alan nesnelerle SQL sorgularını kullanarak performansı geliştirebilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "FindFirst, FindLast, FindNext, FindPrevious Methods" konusuna bakın.

CDaoRecordset::FindPrev

Belirtilen koşulla eşleşen önceki kaydı bulmak için bu üye işlevini çağırın.

BOOL FindPrev(LPCTSTR lpszFilter);

Parametreler

lpszFilter
Kaydı bulmak için kullanılan dize ifadesi (WHERE sözcüğü olmayan bir SQL deyimindeki WHERE yan tümcesi gibi).

Dönüş Değeri

Eşleşen kayıtlar bulunursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

FindPrev Üye işlevi aramasına geçerli kayıtta başlar ve kayıt kümesinin başına doğru geriye doğru arar.

Aramanıza tüm kayıtları dahil etmek istiyorsanız (yalnızca belirli bir koşulu karşılayanları değil) kayıttan kayda geçmek için Taşıma işlemlerinden birini kullanın. Tablo türündeki kayıt kümesindeki bir kaydı bulmak için üye işlevini çağırın Seek .

Ölçütle eşleşen bir kayıt bulunmazsa, geçerli kayıt işaretçisi belirsizdir ve FindPrev sıfır döndürür. Kayıt kümesi ölçütleri karşılayan birden fazla kayıt içeriyorsa, FindFirst ilk oluşumu bulur, FindNext sonraki oluşumu bulur vb.

Dikkat

Geçerli kaydı düzenlerseniz, başka bir kayda geçmeden önce üye işlevini çağırarak Update değişiklikleri kaydettiğinizden emin olun. Güncelleştirmeden başka bir kayda geçerseniz, değişiklikleriniz uyarı olmadan kaybolur.

Bul işlemlerinden birini kullanmak veya MoveNextçağrısıyla MoveFirst aynı değildir, ancak bu durum yalnızca bir koşul belirtmeden ilk veya sonraki kaydı geçerli hale getirir. Taşıma işlemiyle Bir Bul işlemini izleyebilirsiniz.

Bul işlemlerini kullanırken aşağıdakileri göz önünde bulundurun:

  • Sıfır olmayan döndürürse Find geçerli kayıt tanımlanmaz. Bu durumda, geçerli kayıt işaretçisini geçerli bir kayda geri konumlandırmanız gerekir.

  • Find işlemini yalnızca ileriye doğru kaydırma anlık görüntü türü kayıt kümesiyle kullanamazsınız.

  • Microsoft Jet veritabanı altyapısının ABD sürümünü kullanmıyor olsanız bile tarih içeren alanları ararken ABD tarih biçimini (ay-gün-yıl) kullanmanız gerekir; aksi takdirde eşleşen kayıtlar bulunamayabilir.

  • ODBC veritabanları ve büyük dinamik kümelerle çalışırken, özellikle büyük kayıt kümeleriyle çalışırken Bul işlemlerini kullanmanın yavaş olduğunu fark edebilirsiniz. Özelleştirilmiş ORDERBY veya WHERE yan tümceleri, parametre sorguları veya CDaoQuerydef belirli dizinlenmiş kayıtları alan nesnelerle SQL sorgularını kullanarak performansı geliştirebilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "FindFirst, FindLast, FindNext, FindPrevious Methods" konusuna bakın.

CDaoRecordset::GetAbsolutePosition

Kayıt kümesi nesnesinin geçerli kaydının kayıt numarasını döndürür.

long GetAbsolutePosition();

Dönüş Değeri

0'dan kayıt kümesindeki kayıt sayısına kadar olan bir tamsayı. Kayıt kümesindeki geçerli kaydın sıralı konumuna karşılık gelir.

Açıklamalar

Temel alınan DAO nesnesinin AbsolutePosition özellik değeri sıfır tabanlıdır; 0 ayarı kayıt kümesindeki ilk kayda başvurur. GetRecordCount'ı çağırarak kayıt kümesindeki doldurulmuş kayıtların sayısını belirleyebilirsiniz. Sayımı belirlemek için tüm kayıtlara erişmesi gerektiğinden çağırma GetRecordCount biraz zaman alabilir.

Kayıt kümesinde kayıt olmadığı gibi geçerli bir kayıt yoksa - 1 döndürülür. Geçerli kayıt silinirse, AbsolutePosition özellik değeri tanımlanmaz ve başvuruluysa MFC bir özel durum oluşturur. Dynaset türündeki kayıt kümeleri için, dizinin sonuna yeni kayıtlar eklenir.

Not

Bu özelliğin vekil kayıt numarası olarak kullanılması amaçlanmamıştır. Yer işaretleri hala belirli bir konuma geri dönmenin önerilen yoludur ve geçerli kaydı tüm kayıt kümesi nesneleri arasında konumlandırmanın tek yoludur. Özellikle, bir önceki kayıtlar silindiğinde belirli bir kaydın konumu değişir. Ayrıca, bir kayıt kümesi içindeki tek tek kayıtların sırası ORDERBY yan tümcesi kullanılarak bir SQL deyimiyle oluşturulmadığı sürece garanti edilmediğinden, kayıt kümesi yeniden oluşturulursa belirli bir kaydın aynı mutlak konuma sahip olacağının güvencesi yoktur.

Not

Bu üye işlevi yalnızca dynaset türü ve anlık görüntü türü kayıt kümeleri için geçerlidir.

İlgili bilgiler için DAO Yardımı'ndaki "AbsolutePosition Özelliği" konusuna bakın.

CDaoRecordset::GetBookmark

Belirli bir kayıttaki yer işareti değerini almak için bu üye işlevini çağırın.

COleVariant GetBookmark();

Dönüş Değeri

Geçerli kayıtta yer işaretini temsil eden bir değer döndürür.

Açıklamalar

Bir kayıt kümesi nesnesi oluşturulduğunda veya açıldığında, kayıtlarından her birinin destekliyorsa zaten benzersiz bir yer işareti vardır. Kayıt kümesinin yer işaretlerini destekleyip desteklemediğini belirlemek için çağrısı CanBookmark yapın.

Yer işaretinin değerini bir COleVariant nesneye atayarak geçerli kayıt için yer işaretini kaydedebilirsiniz. Farklı bir kayda geçtikten sonra herhangi bir zamanda bu kayda hızlı bir şekilde dönmek için, bu COleVariant nesnenin değerine karşılık gelen bir parametreyle çağrısı SetBookmark yapın.

Not

Requery çağrısı, DAO yer işaretlerini değiştirir.

İlgili bilgiler için DAO Yardımı'ndaki "Yer İşareti Özelliği" konusuna bakın.

CDaoRecordset::GetCacheSize

Önbelleğe alınan kayıt sayısını almak için bu üye işlevini çağırın.

long GetCacheSize();

Dönüş Değeri

ODBC veri kaynağından yerel olarak önbelleğe alınabilecek verileri içeren dinamik küme türündeki kayıt sayısını belirten değer.

Açıklamalar

Veri önbelleğe alma, dinamik küme türündeki kayıt kümesi nesneleri aracılığıyla uzak sunucudan veri alan bir uygulamanın performansını artırır. Önbellek, uygulama çalışırken verilerin yeniden isteneceği durumda sunucudan en son alınan verileri tutan yerel bellekte yer alan bir alandır. Veriler istendiğinde, Microsoft Jet veritabanı altyapısı istenen verileri sunucudan almak yerine önce önbelleği denetler ve bu da daha fazla zaman alır. ODBC veri kaynağından gelmeyen veriler önbellekte kaydedilmez.

Ekli tablo gibi herhangi bir ODBC veri kaynağı yerel önbelleğe sahip olabilir.

İlgili bilgiler için DAO Yardımı'ndaki "CacheSize, CacheStart Özellikleri" konusuna bakın.

CDaoRecordset::GetCacheStart

Önbelleğe alınacak kayıt kümesindeki ilk kaydın yer işareti değerini almak için bu üye işlevini çağırın.

COleVariant GetCacheStart();

Dönüş Değeri

COleVariant Önbelleğe alınacak kayıt kümesindeki ilk kaydın yer işaretini belirten bir.

Açıklamalar

Microsoft Jet veritabanı altyapısı önbellek aralığındaki kayıtları önbellekten ve önbellek aralığının dışındaki kayıtları sunucudan istemektedir.

Not

Önbellekten alınan kayıtlar, diğer kullanıcılar tarafından kaynak verilerde eşzamanlı olarak yapılan değişiklikleri yansıtmaz.

İlgili bilgiler için DAO Yardımı'ndaki "CacheSize, CacheStart Özellikleri" konusuna bakın.

CDaoRecordset::GetCurrentIndex

Dizinlenmiş tablo türündeki CDaoRecordset bir nesnede kullanılmakta olan dizini belirlemek için bu üye işlevini çağırın.

CString GetCurrentIndex();

Dönüş Değeri

CString Tablo türündeki kayıt kümesiyle kullanılmakta olan dizinin adını içeren. Dizin ayarlanmamışsa boş bir dize döndürür.

Açıklamalar

Bu dizin, tablo türündeki kayıt kümesindeki kayıtları sıralamak için temeldir ve Kayıtları bulmak için Üye ara işlevi tarafından kullanılır.

Bir CDaoRecordset nesne birden fazla dizine sahip olabilir, ancak aynı anda yalnızca bir dizin kullanabilir (ancak CDaoTableDef nesnesinin üzerinde tanımlanmış birkaç dizin olabilir).

İlgili bilgiler için DAO Yardımı'ndaki "Dizin Nesnesi" konusuna ve "geçerli dizin" tanımına bakın.

CDaoRecordset::GetDateCreated

Temel tablonun oluşturulduğu tarih ve saati almak için bu üye işlevini çağırın.

COleDateTime GetDateCreated();

Dönüş Değeri

Temel tablonun oluşturulduğu tarih ve saati içeren bir COleDateTime nesnesi.

Açıklamalar

Tarih ve saat ayarları, temel tablonun oluşturulduğu bilgisayardan türetilir.

İlgili bilgiler için DAO Yardımı'ndaki "DateCreated, LastUpdated Properties" konusuna bakın.

CDaoRecordset::GetDateLastUpdated

Şemanın son güncelleştirildiği tarih ve saati almak için bu üye işlevini çağırın.

COleDateTime GetDateLastUpdated();

Dönüş Değeri

Temel tablo yapısının (şema) son güncelleştirilme tarihini ve saatini içeren bir COleDateTime nesnesi.

Açıklamalar

Tarih ve saat ayarları, temel tablo yapısının (şema) en son güncelleştirildiği bilgisayardan türetilir.

İlgili bilgiler için DAO Yardımı'ndaki "DateCreated, LastUpdated Properties" konusuna bakın.

CDaoRecordset::GetDefaultDBName

Bu kayıt kümesinin veritabanının adını belirlemek için bu üye işlevini çağırın.

virtual CString GetDefaultDBName();

Dönüş Değeri

CString Bu kayıt kümesinin türetildiği veritabanının yolunu ve adını içeren bir.

Açıklamalar

CDaoDatabase işaretçisi olmadan bir kayıt kümesi oluşturulursa, bu yol kayıt kümesi tarafından varsayılan veritabanını açmak için kullanılır. Varsayılan olarak, bu işlev boş bir dize döndürür. ClassWizard öğesinden CDaoRecordsetyeni bir kayıt kümesi türediğinde, sizin için bu işlevi oluşturur.

Aşağıdaki örnek, dizenin doğru yorumlanması için gerektiği gibi dizede çift ters eğik çizgi (\\) kullanımını gösterir.

CString CCustSet::GetDefaultDBName()
{
   return _T("c:\\mydir\\datasrc.mdb");
}

CDaoRecordset::GetDefaultSQL

Çerçeve, kayıt kümesinin temel aldığı varsayılan SQL deyimini almak için bu üye işlevini çağırır.

virtual CString GetDefaultSQL();

Dönüş Değeri

CString Varsayılan SQL deyimini içeren bir.

Açıklamalar

Bu bir tablo adı veya SQL SELECT deyimi olabilir.

ClassWizard ile kayıt kümesi sınıfınızı bildirerek varsayılan SQL deyimini dolaylı olarak tanımlarsınız ve ClassWizard bu görevi sizin için gerçekleştirir.

Open'a null SQL dizesi geçirirseniz, kayıt kümenizin tablo adını veya SQL'ini belirlemek için bu işlev çağrılır.

CDaoRecordset::GetEditMode

Aşağıdaki değerlerden biri olan düzenleme durumunu belirlemek için bu üye işlevini çağırın:

short GetEditMode();

Dönüş Değeri

Geçerli kayıt için düzenleme durumunu gösteren bir değer döndürür.

Açıklamalar

Value Açıklama
dbEditNone Devam eden bir düzenleme işlemi yok.
dbEditInProgress Edit çağrısı yapıldı.
dbEditAdd AddNew çağrısı yapıldı.

İlgili bilgiler için DAO Yardımı'ndaki "EditMode Özelliği" konusuna bakın.

CDaoRecordset::GetFieldCount

Kayıt kümesinde tanımlanan alan (sütun) sayısını almak için bu üye işlevini çağırın.

short GetFieldCount();

Dönüş Değeri

Kayıt kümesindeki alanların sayısı.

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Say" konusuna bakın.

CDaoRecordset::GetFieldInfo

Kayıt kümesindeki alanlar hakkında bilgi edinmek için bu üye işlevini çağırın.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametreler

nIndex
Dizine göre arama için kayıt kümesinin Fields koleksiyonundaki önceden tanımlanmış alanın sıfır tabanlı dizini.

fieldinfo
CDaoFieldInfo yapısına başvuru.

dwInfoOptions
Kayıt kümesiyle ilgili hangi bilgilerin alınacağını belirten seçenekler. Kullanılabilir seçenekler, işlevin döndürmesine neden olduklarıyla birlikte burada listelenir. En iyi performans için yalnızca ihtiyacınız olan bilgi düzeyini alın:

  • AFX_DAO_PRIMARY_INFO (Varsayılan) Ad, Tür, Boyut, Öznitelikler

  • AFX_DAO_SECONDARY_INFO Birincil bilgiler, artı: Sıralı Konum, Gerekli, Sıfır Uzunluğa İzin Ver, Harmanlama Sırası, Yabancı Ad, Kaynak Alan, Kaynak Tablo

  • AFX_DAO_ALL_INFO Birincil ve ikincil bilgilerin yanı sıra: Varsayılan Değer, Geçerlilik Kuralı, Doğrulama Metni

lpszName
Alanın adı.

Açıklamalar

İşlevin bir sürümü, bir alanı dizine göre aramanıza olanak tanır. Diğer sürüm, bir alanı ada göre aramanıza olanak tanır.

Döndürülen bilgilerin açıklaması için bkz . CDaoFieldInfo yapısı. Bu yapı, dwInfoOptions açıklamasında yukarıda listelenen bilgi öğelerine karşılık gelen üyelere sahiptir. Bir düzeyde bilgi istediğinizde, önceki düzeyler için de bilgi alırsınız.

İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.

CDaoRecordset::GetFieldValue

Kayıt kümesindeki verileri almak için bu üye işlevini çağır.

virtual void GetFieldValue(
    LPCTSTR lpszName,
    COleVariant& varValue);

virtual void GetFieldValue(
    int nIndex,
    COleVariant& varValue);

virtual COleVariant GetFieldValue(LPCTSTR lpszName);
virtual COleVariant GetFieldValue(int nIndex);

Parametreler

lpszName
Bir alanın adını içeren bir dize işaretçisi.

varValue
Bir alanın değerini depolayacak bir nesneye başvuru COleVariant .

nIndex
Dizine göre arama için kayıt kümesinin Fields koleksiyonundaki alanın sıfır tabanlı dizini.

Dönüş Değeri

Değerini döndüren iki sürümü GetFieldValue , bir alanın değerini içeren bir COleVariant nesnesi döndürür.

Açıklamalar

Bir alanı ada veya sıra konumuna göre arayabilirsiniz.

Not

Bu üye işlevinin nesne döndüren bir COleVariant sürümü çağırmak yerine parametre olarak nesne başvurusu alan sürümlerinden birini çağırmak daha verimlidir COleVariant . Bu işlevin ikinci sürümleri geriye dönük uyumluluk için tutulur.

DoFieldExchange mekanizmasını kullanarak sütunları statik olarak bağlamak yerine çalışma zamanında alanları dinamik olarak bağlamak için ve SetFieldValue kullanınGetFieldValue.

GetFieldValueDoFieldExchange ve mekanizma, performansı geliştirmek için birleştirilebilir. Örneğin, yalnızca isteğe bağlı olarak ihtiyacınız olan bir değeri almak ve bu çağrıyı arabirimdeki "Daha Fazla Bilgi" düğmesine atamak için kullanın GetFieldValue .

İlgili bilgiler için DAO Yardımı'ndaki "Alan Nesnesi" ve "Değer Özelliği" konularına bakın.

CDaoRecordset::GetIndexCount

Tablo türü kayıt kümesinde kullanılabilir dizin sayısını belirlemek için bu üye işlevini çağırın.

short GetIndexCount();

Dönüş Değeri

Tablo türündeki kayıt kümesindeki dizinlerin sayısı.

Açıklamalar

GetIndexCount kayıt kümesindeki tüm dizinler arasında döngü oluşturmak için kullanışlıdır. Bu amaçla GetIndexInfo ile birlikte kullanınGetIndexCount. Dynaset türü veya anlık görüntü türü kayıt kümelerinde bu üye işlevini çağırırsanız, MFC bir özel durum oluşturur.

İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.

CDaoRecordset::GetIndexInfo

Bir kayıt kümesinin temel aldığı temel tabloda tanımlanan bir dizin hakkında çeşitli bilgiler almak için bu üye işlevini çağırın.

void GetIndexInfo(
    int nIndex,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetIndexInfo(
    LPCTSTR lpszName,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametreler

nIndex
Sayısal konuma göre arama için tablonun Dizinler koleksiyonundaki sıfır tabanlı dizin.

indexinfo
CDaoIndexInfo yapısına başvuru.

dwInfoOptions
Dizinle ilgili hangi bilgilerin alınacağını belirten seçenekler. Kullanılabilir seçenekler, işlevin döndürmesine neden olduklarıyla birlikte burada listelenir. En iyi performans için yalnızca ihtiyacınız olan bilgi düzeyini alın:

  • AFX_DAO_PRIMARY_INFO (Varsayılan) Ad, Alan Bilgisi, Alanlar

  • AFX_DAO_SECONDARY_INFO Birincil bilgiler ve artı: Birincil, Benzersiz, Kümelenmiş, IgnoreNulls, Gerekli, Yabancı

  • AFX_DAO_ALL_INFO Birincil ve ikincil bilgilerin yanı sıra: Ayrı Sayı

lpszName
Ada göre arama için dizin nesnesinin adına yönelik bir işaretçi.

Açıklamalar

İşlevin bir sürümü, bir dizini koleksiyondaki konumuna göre aramanıza olanak tanır. Diğer sürüm, ada göre bir dizin aramanızı sağlar.

Döndürülen bilgilerin açıklaması için bkz . CDaoIndexInfo yapısı. Bu yapı, dwInfoOptions açıklamasında yukarıda listelenen bilgi öğelerine karşılık gelen üyelere sahiptir. Bir düzeyde bilgi istediğinizde, önceki düzeyler için de bilgi alırsınız.

İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.

CDaoRecordset::GetLastModifiedBookmark

En son eklenen veya güncelleştirilen kaydın yer işaretini almak için bu üye işlevini çağırın.

COleVariant GetLastModifiedBookmark();

Dönüş Değeri

COleVariant En son eklenen veya değiştirilen kaydı gösteren bir yer işareti içeren.

Açıklamalar

Bir kayıt kümesi nesnesi oluşturulduğunda veya açıldığında, kayıtlarından her birinin destekliyorsa zaten benzersiz bir yer işareti vardır. Kayıt kümesinin yer işaretlerini desteklenip desteklemediğini belirlemek için GetBookmark'ı çağırın. Kayıt kümesi yer işaretlerini desteklemiyorsa, bir CDaoException oluşturulur.

Kayıt eklediğinizde kayıt kümesi, kayıt kümesinin sonunda görünür ve geçerli kayıt değildir. Yeni kaydı güncel hale getirmek için, GetLastModifiedBookmark yeni eklenen kayda dönmek için öğesini çağırın ve ardından çağırın SetBookmark .

İlgili bilgiler için DAO Yardımı'ndaki "LastModified Özelliği" konusuna bakın.

CDaoRecordset::GetLockingMode

Kayıt kümesi için geçerli olan kilitleme türünü belirlemek için bu üye işlevini çağırın.

BOOL GetLockingMode();

Dönüş Değeri

Kilitleme türü kötümser ise sıfır olmayan, aksi takdirde iyimser kayıt kilitleme için 0.

Açıklamalar

Kötümser kilitleme etkin olduğunda, düzenleme yaptığınız kaydı içeren veri sayfası, Üyeyi düzenle işlevini çağırdığınız anda kilitlenir. Üyeyi Güncelleştir veya Kapat işlevini ya da Taşı veya Bul işlemlerinden herhangi birini çağırdığınızda sayfanın kilidi açılır.

İyimser kilitleme etkin olduğunda, kaydı içeren veri sayfası yalnızca kayıt üye işleviyle Update güncelleştirilirken kilitlenir.

ODBC veri kaynaklarıyla çalışırken kilitleme modu her zaman iyimserdir.

İlgili bilgiler için DAO Yardımı'ndaki "LockEdits Özelliği" ve "Çok Kullanıcılı Uygulamalarda Kilitleme Davranışı" konularına bakın.

CDaoRecordset::GetName

Kayıt kümesinin adını almak için bu üye işlevini çağırın.

CString GetName();

Dönüş Değeri

Kayıt CString kümesinin adını içeren.

Açıklamalar

Kayıt kümesinin adı bir harfle başlamalıdır ve en fazla 40 karakter içerebilir. Sayılar ve alt çizgi karakterleri içerebilir, ancak noktalama işaretleri veya boşluklar içeremez.

İlgili bilgiler için DAO Yardımı'ndaki "Ad Özelliği" konusuna bakın.

CDaoRecordset::GetParamValue

Temel alınan DAOParameter nesnesinde depolanan belirtilen parametrenin geçerli değerini almak için bu üye işlevini çağırın.

virtual COleVariant GetParamValue(int nIndex);
virtual COleVariant GetParamValue(LPCTSTR lpszName);

Parametreler

nIndex
Parametrenin temel alınan DAOParameter nesnesindeki sayısal konumu.

lpszName
Değerini istediğiniz parametrenin adı.

Dönüş Değeri

Parametrenin değerini içeren COleVariant sınıfının nesnesi.

Açıklamalar

parametreye ada veya koleksiyondaki sayısal konumuna göre erişebilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "Parametre Nesnesi" konusuna bakın.

CDaoRecordset::GetPercentPosition

Dynaset türü veya anlık görüntü türü kayıt kümesiyle çalışırken, kayıt kümesini tam olarak doldurmadan önce çağırırsanızGetPercentPosition, hareket miktarı GetRecordCount çağrısıyla belirtilen sayıda erişilen kayıt sayısına göredir.

float GetPercentPosition();

Dönüş Değeri

Kayıt kümesindeki kayıtların yüzdesine göre kayıt kümesi nesnesindeki geçerli kaydın yaklaşık konumunu gösteren 0 ile 100 arasında bir sayı.

Açıklamalar

Tüm kayıt kümelerinin popülasyonunu tamamlamak için MoveLast'ı çağırarak son kayda geçebilirsiniz, ancak bu çok uzun sürebilir.

Dizinleri olmayan tablolar da dahil olmak üzere üç kayıt kümesi nesnesi türünü de çağırabilirsiniz GetPercentPosition . Ancak, yalnızca ileriye doğru kaydırma anlık görüntülerinde veya bir dış veritabanına yönelik doğrudan sorgudan açılan bir kayıt kümesinde çağrı GetPercentPosition yapamazsınız. Geçerli kayıt yoksa veya o geçerli kayıt silinmişse, bir CDaoException oluşturulur.

İlgili bilgiler için DAO Yardımı'ndaki "PercentPosition Özelliği" konusuna bakın.

CDaoRecordset::GetRecordCount

Kayıt kümesindeki kaç kayda erişildiğini öğrenmek için bu üye işlevini çağır.

long GetRecordCount();

Dönüş Değeri

Kayıt kümesi nesnesinde erişilen kayıtların sayısını döndürür.

Açıklamalar

GetRecordCount , tüm kayıtlara erişilene kadar dinamik küme türü veya anlık görüntü türü kayıt kümesinde kaç kaydın yer aldığına işaret etmez. Bu üye işlev çağrısının tamamlanması önemli ölçüde zaman alabilir.

Son kayda erişildikten sonra, dönüş değeri kayıt kümesindeki silinmemiş kayıtların toplam sayısını gösterir. Son kayda erişmeye zorlamak için kayıt kümesi için veya FindLast üye işlevini çağırınMoveLast. Sorgunuzun döndüreceği yaklaşık kayıt sayısını belirlemek için SQL Sayısı da kullanabilirsiniz.

Uygulamanız dynaset türündeki kayıt kümesindeki kayıtları sildikçe değerinin GetRecordCount dönüş değeri azalır. Ancak, geçerli kayıt silinmiş bir kayda konumlandırılana kadar diğer kullanıcılar tarafından silinen kayıtlar tarafından GetRecordCount yansıtılmaz. Kayıt sayısını etkileyen bir işlem yürütür ve ardından işlemi geri alırsanız, GetRecordCount kalan kayıtların gerçek sayısını yansıtmaz.

Anlık görüntü türündeki kayıt kümesindeki değeri GetRecordCount , temel tablolardaki değişikliklerden etkilenmez.

Tablo türündeki kayıt kümesindeki değeri GetRecordCount , tablodaki yaklaşık kayıt sayısını yansıtır ve tablo kayıtları eklendikçe ve silindikçe hemen etkilenir.

Kayıt içermeyen bir kayıt kümesi 0 değerini döndürür. Ekli tablolarla veya ODBC veritabanlarıyla çalışırken, GetRecordCount her zaman - 1 döndürür. Kayıt kümesinde üye işlevini çağırmak Requery , değerini sorgu yeniden yürütülür gibi sıfırlar GetRecordCount .

İlgili bilgiler için DAO Yardımı'ndaki "RecordCount Özelliği" konusuna bakın.

CDaoRecordset::GetSQL

Kayıt kümesinin kayıtları açıldığında seçmek için kullanılan SQL deyimini almak için bu üye işlevini çağırın.

CString GetSQL() const;

Dönüş Değeri

CString SQL deyimini içeren bir.

Açıklamalar

Bu genellikle bir SQL SELECT deyimi olacaktır.

tarafından GetSQL döndürülen dize genellikle lpszSQL parametresindeki kayıt kümesine Open member işlevine geçirmiş olabileceğiniz herhangi bir dizeden farklıdır. Bunun nedeni, kayıt kümesinin classWizard ile belirttiğiniz öğeye ve m_strFilter ve m_strSort veri üyelerinde belirtmiş olabileceğiniz değerlere Opengöre tam bir SQL deyimi oluşturmasıdır.

Not

Bu üye işlevini yalnızca çağrısı yaptıktan sonra çağır Open.

İlgili bilgiler için DAO Yardımı'ndaki "SQL Özelliği" konusuna bakın.

CDaoRecordset::GetType

Kayıt kümesi nesnesinin türünü belirlemek için kayıt kümesini açtıktan sonra bu üye işlevini çağırın.

short GetType();

Dönüş Değeri

Kayıt kümesinin türünü gösteren aşağıdaki değerlerden biri:

  • dbOpenTable Tablo türü kayıt kümesi

  • dbOpenDynaset Dinamik küme türü kayıt kümesi

  • dbOpenSnapshot Anlık görüntü türü kayıt kümesi

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "Tür Özelliği" konusuna bakın.

CDaoRecordset::GetValidationRule

Verileri doğrulamak için kullanılan kuralı belirlemek için bu üye işlevini çağırın.

CString GetValidationRule();

Dönüş Değeri

Bir CString kayıttaki verileri değiştirildiğinde veya tabloya eklendikçe doğrulayan bir değer içeren nesne.

Açıklamalar

Bu kural metin tabanlıdır ve temel tablo her değiştirildiğinde uygulanır. Veriler yasal değilse, MFC bir özel durum oluşturur. Döndürülen hata iletisi, belirtilmişse temel alan nesnesinin ValidationText özelliğinin metni veya temel alan nesnesinin ValidationRule özelliği tarafından belirtilen ifadenin metnidir. Hata iletisinin metnini almak için GetValidationText'i çağırabilirsiniz.

Örneğin, ayın gününü gerektiren bir kayıttaki alanın "1 ILE 31 ARASI GÜN" gibi bir doğrulama kuralı olabilir.

İlgili bilgiler için DAO Yardımı'ndaki "ValidationRule Özelliği" konusuna bakın.

CDaoRecordset::GetValidationText

Temel alan nesnesinin ValidationText özelliğinin metnini almak için bu üye işlevini çağırın.

CString GetValidationText();

Dönüş Değeri

Bir CString alanın değeri temel alan nesnesinin geçerlilik kuralını karşılamıyorsa görüntülenen ileti metnini içeren nesne.

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "ValidationText Özelliği" konusuna bakın.

CDaoRecordset::IsBOF

Kayıttan kayda kaydırmadan önce bu üye işlevini çağırarak kayıt kümesinin ilk kaydından önce gidip gitmediğiniz hakkında bilgi edinin.

BOOL IsBOF() const;

Dönüş Değeri

Kayıt kümesinde kayıt yoksa veya ilk kayıt öncesinde geriye doğru kaydırdıysanız sıfır olmayan; aksi takdirde 0.

Açıklamalar

Kayıt kümesinin herhangi bir kayıt mı içerdiğini yoksa boş mu olduğunu belirlemek için ile IsEOF birlikte öğesini de çağırabilirsinizIsBOF. çağrısından Openhemen sonra, kayıt kümesi hiçbir kayıt içermiyorsa sıfır IsBOF olmayan bir değer döndürür. En az bir kaydı olan bir kayıt kümesini açtığınızda, ilk kayıt geçerli kayıttır ve IsBOF 0 döndürür.

İlk kayıt geçerli kayıtsa ve öğesini çağırırsanızMovePrevIsBOF, daha sonra sıfır olmayan bir değer döndürür. Sıfır olmayan döndürürse IsBOF ve çağrısı MovePrevyaparsanız bir özel durum oluşur. Sıfır olmayan döndürürse IsBOF geçerli kayıt tanımlanmamış olur ve geçerli kayıt gerektiren tüm eylemler özel durumla sonuçlanır.

Belirli yöntemlerin ve IsEOF ayarları üzerindeki IsBOF etkisi:

  • dahili olarak çağırmak Open* , çağırarak MoveFirstkayıt kümesindeki ilk kaydı geçerli kayıt yapar. Bu nedenle, boş bir kayıt kümesinde çağrılması Open sıfır olmayan bir değer döndürmesine ve neden olur IsBOF IsEOF . (Başarısız MoveFirst olan veya MoveLast çağrının davranışı için aşağıdaki tabloya bakın.)

  • Kaydı başarıyla buan tüm Taşıma işlemleri hem hem de IsBOF IsEOF 0 döndürmesine neden olur.

  • Yeni AddNew kaydı başarıyla ekleyen bir Update çağrının ardından gelen bir çağrı, yalnızca sıfır olmayan bir durumda IsEOF 0 döndürmesine neden IsBOF olur. durumu IsEOF her zaman değişmeden kalır. Microsoft Jet veritabanı altyapısı tarafından tanımlandığı gibi, boş bir kayıt kümesinin geçerli kayıt işaretçisi bir dosyanın sonundadır, bu nedenle yeni kayıtlar geçerli kayıt sonrasında eklenir.

  • Herhangi bir Delete çağrı, kayıt kümesinden kalan tek kaydı kaldırsa bile veya IsEOFdeğerini IsBOF değiştirmez.

Bu tabloda, farklı birleşimleriyle hangi Taşıma işlemlerine IsBOF/ IsEOFizin verildiği gösterilir.

Durum MoveFirst, MoveLast MovePrev,

Taşıma < 0
Taşıma 0 MoveNext,

Taşıma > 0
IsBOF=sıfır olmayan,

IsEOF=0
İzin Verilir Özel durum Özel durum İzin Verilir
IsBOF=0,

IsEOF=sıfır olmayan
İzin Verilir İzin Verilir Özel durum Özel durum
Her ikisi de sıfır olmayan Özel durum Özel durum Özel durum Özel durum
her ikisi de 0 İzin Verilir İzin Verilir İzin Verilir İzin Verilir

Taşıma işlemine izin vermek, işlemin bir kaydı başarıyla bulacağı anlamına gelmez. Yalnızca belirtilen Move işlemini gerçekleştirme girişimine izin verileceğini ve özel durum oluşturmayacağını gösterir. ve IsEOF üye işlevlerinin IsBOF değeri, taşıma girişiminin sonucu olarak değişebilir.

Ve ayarları üzerinde kayıt bulmayan Taşıma işlemlerinin IsBOF IsEOF etkisi aşağıdaki tabloda gösterilmiştir.

Operations IsBOF IsEOF
MoveFirst, MoveLast Sıfır Sıfır
Move 0 Değişiklik yok Değişiklik yok
MovePrev, Move< 0 Sıfır Değişiklik yok
MoveNext, Move> 0 Değişiklik yok Sıfır

İlgili bilgiler için DAO Yardımı'ndaki "BOF, EOF Özellikleri" konusuna bakın.

CDaoRecordset::IsDeleted

Geçerli kaydın silinip silinmediğini belirlemek için bu üye işlevini çağırın.

BOOL IsDeleted() const;

Dönüş Değeri

Kayıt kümesi silinmiş bir kayıtta konumlandırıldıysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bir kayda IsDeleted kaydırıp TRUE (sıfır olmayan) döndürürseniz, diğer kayıt kümesi işlemlerini gerçekleştirebilmek için önce başka bir kayda kaydırmanız gerekir.

Not

Anlık görüntüdeki veya tablo türündeki kayıt kümesindeki kayıtların silinmiş durumunu denetlemeniz gerekmez. Kayıtlar anlık görüntüden silinemediğinden çağrısına IsDeletedgerek yoktur. Tablo türündeki kayıt kümeleri için silinen kayıtlar kayıt kümesinden kaldırılır. Bir kayıt siz, başka bir kullanıcı veya başka bir kayıt kümesi tarafından silindikten sonra bu kayda geri kaydıramazsınız. Bu nedenle çağrısı IsDeletedyapmanıza gerek yoktur.

Dinamik kümeden bir kaydı sildiğinizde kayıt kümesinden kaldırılır ve bu kayda geri kaydıramazsınız. Ancak, dinamik kümedeki bir kayıt başka bir kullanıcı tarafından veya aynı tabloyu temel alan başka bir kayıt kümesinde silinirse, IsDeleted daha sonra bu kayda kaydırdığınızda TRUE döndürür.

İlgili bilgiler için DAO Yardımı'ndaki "Yöntemi Sil", "LastModified Özelliği" ve "EditMode Özelliği" konularına bakın.

CDaoRecordset::IsEOF

Kayıttan kayda kaydırdığınızda kayıt kümesinin son kaydının ötesine geçmiş olup olmadığınızı öğrenmek için bu üye işlevini çağırın.

BOOL IsEOF() const;

Dönüş Değeri

Kayıt kümesinde kayıt yoksa veya son kaydın ötesine geçtiyseniz sıfır olmayan; aksi takdirde 0.

Açıklamalar

Kayıt kümesinin herhangi bir kayıt mı içerdiğini yoksa boş mu olduğunu belirlemek için de çağırabilirsiniz IsEOF . çağrısından Openhemen sonra, kayıt kümesi hiçbir kayıt içermiyorsa sıfır IsEOF olmayan bir değer döndürür. En az bir kaydı olan bir kayıt kümesini açtığınızda, ilk kayıt geçerli kayıttır ve IsEOF 0 döndürür.

Çağrısı yaptığınızda MoveNextIsEOF son kayıt geçerli kayıtsa, daha sonra sıfır olmayan bir değer döndürür. Sıfır olmayan döndürürse IsEOF ve çağrısı MoveNextyaparsanız bir özel durum oluşur. Sıfır olmayan döndürürse IsEOF geçerli kayıt tanımlanmamış olur ve geçerli kayıt gerektiren tüm eylemler özel durumla sonuçlanır.

Belirli yöntemlerin ve IsEOF ayarları üzerindeki IsBOF etkisi:

  • dahili olarak çağırmak Open , çağırarak MoveFirstkayıt kümesindeki ilk kaydı geçerli kayıt yapar. Bu nedenle, boş bir kayıt kümesinde çağrılması Open sıfır olmayan bir değer döndürmesine ve neden olur IsBOF IsEOF . (Başarısız MoveFirst bir çağrının davranışı için aşağıdaki tabloya bakın.)

  • Kaydı başarıyla buan tüm Taşıma işlemleri hem hem de IsBOF IsEOF 0 döndürmesine neden olur.

  • Yeni AddNew kaydı başarıyla ekleyen bir Update çağrının ardından gelen bir çağrı, yalnızca sıfır olmayan bir durumda IsEOF 0 döndürmesine neden IsBOF olur. durumu IsEOF her zaman değişmeden kalır. Microsoft Jet veritabanı altyapısı tarafından tanımlandığı gibi, boş bir kayıt kümesinin geçerli kayıt işaretçisi bir dosyanın sonundadır, bu nedenle yeni kayıtlar geçerli kayıt sonrasında eklenir.

  • Herhangi bir Delete çağrı, kayıt kümesinden kalan tek kaydı kaldırsa bile veya IsEOFdeğerini IsBOF değiştirmez.

Bu tabloda, farklı birleşimleriyle hangi Taşıma işlemlerine IsBOF/ IsEOFizin verildiği gösterilir.

Durum MoveFirst, MoveLast MovePrev,

Taşıma < 0
Taşıma 0 MoveNext,

Taşıma > 0
IsBOF=sıfır olmayan,

IsEOF=0
İzin Verilir Özel durum Özel durum İzin Verilir
IsBOF=0,

IsEOF=sıfır olmayan
İzin Verilir İzin Verilir Özel durum Özel durum
Her ikisi de sıfır olmayan Özel durum Özel durum Özel durum Özel durum
her ikisi de 0 İzin Verilir İzin Verilir İzin Verilir İzin Verilir

Taşıma işlemine izin vermek, işlemin bir kaydı başarıyla bulacağı anlamına gelmez. Yalnızca belirtilen Move işlemini gerçekleştirme girişimine izin verileceğini ve özel durum oluşturmayacağını gösterir. Ve IsEOF üye işlevlerinin IsBOF değeri, taşıma girişiminin sonucu olarak değişebilir.

Ve ayarları üzerinde kayıt bulmayan Taşıma işlemlerinin IsBOF IsEOF etkisi aşağıdaki tabloda gösterilmiştir.

Operations IsBOF IsEOF
MoveFirst, MoveLast Sıfır Sıfır
Move 0 Değişiklik yok Değişiklik yok
MovePrev, Move< 0 Sıfır Değişiklik yok
MoveNext, Move> 0 Değişiklik yok Sıfır

İlgili bilgiler için DAO Yardımı'ndaki "BOF, EOF Özellikleri" konusuna bakın.

CDaoRecordset::IsFieldDirty

Bir dinamik kümenin belirtilen alan veri üyesinin "kirli" (değiştirildi) olarak işaretlenip işaretlenmediğini belirlemek için bu üye işlevini çağırın.

BOOL IsFieldDirty(void* pv);

Parametreler

Pv
Durumunu denetlemek istediğiniz alan veri üyesinin işaretçisi veya alanlardan herhangi birinin kirli olup olmadığını belirlemek için NULL.

Dönüş Değeri

Belirtilen alan veri üyesi kirli olarak işaretlenmişse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Tüm kirli alan veri üyelerindeki veriler, geçerli kayıt üye işlevine CDaoRecordset yapılan bir çağrıyla güncelleştirildiğinde (veya AddNewçağrısının Edit ardından) veri kaynağındaki Update kayda aktarılır. Bu bilgiyle, alan veri üyesinin sütunu işaretleyerek veri kaynağına yazılmaması için işaretlemesini kaldırma gibi başka adımlar atabilirsiniz.

IsFieldDirty aracılığıyla DoFieldExchangeuygulanır.

CDaoRecordset::IsFieldNull

Bir kayıt kümesinin belirtilen alan veri üyesinin Null olarak işaretlenip işaretlenmediğini belirlemek için bu üye işlevini çağırın.

BOOL IsFieldNull(void* pv);

Parametreler

Pv
Durumunu denetlemek istediğiniz alan veri üyesinin işaretçisi veya alanlardan birinin Null olup olmadığını belirlemek için NULL.

Dönüş Değeri

Belirtilen alan veri üyesi Null olarak işaretlenmişse sıfır olmayan; aksi takdirde 0.

Açıklamalar

(Veritabanı terminolojisinde Null değerin olmadığı anlamına gelir ve C++'da NULL ile aynı değildir.) Alan veri üyesi Null olarak işaretlenirse, geçerli kaydın değeri olmayan bir sütunu olarak yorumlanır.

Not

Bazı durumlarda, aşağıdaki kod örneğinde gösterildiği gibi kullanımı IsFieldNull verimsiz olabilir:

COleVariant varValue;
void *pField = &(rs.m_Age);
int nField = 2;

// this code is inefficient because data
// must be retrieved for both IsFieldNull
// and GetFieldValue
if (!rs.IsFieldNull(pField))
   rs.GetFieldValue(nField, varValue);

// this code is more efficient
rs.GetFieldValue(nField, varValue);
if (varValue.vt == VT_NULL)
   varValue.Attach(varNewVal); // do something

Not

dinamik kayıt bağlaması kullanıyorsanız, örneğinde CDaoRecordsetgösterildiği gibi VT_NULL kullandığınızdan emin olun.

CDaoRecordset::IsFieldNullable

Belirtilen alan veri üyesinin "null atanabilir" olup olmadığını belirlemek için bu üye işlevini çağırın (Null değerine ayarlanabilir; C++ NULL, veritabanı terminolojisinde "değer olmaması" anlamına gelen Null ile aynı değildir.

BOOL IsFieldNullable(void* pv);

Parametreler

Pv
Durumunu denetlemek istediğiniz alan veri üyesinin işaretçisi veya alanlardan birinin Null olup olmadığını belirlemek için NULL.

Dönüş Değeri

Belirtilen alan veri üyesi Null yapılabiliyorsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Null olamayan bir alanın değeri olmalıdır. Kayıt eklerken veya güncelleştirirken böyle bir alanı Null olarak ayarlamaya çalışırsanız, veri kaynağı toplamayı veya güncelleştirmeyi reddeder ve Update bir özel durum oluşturur. Özel durum, çağrısı Updateyaptığınızda değil çağırdığınızda SetFieldNulloluşur.

CDaoRecordset::IsOpen

Kayıt kümesinin açık olup olmadığını belirlemek için bu üye işlevini çağırın.

BOOL IsOpen() const;

Dönüş Değeri

Kayıt kümesi nesnesinin Open veya Requery üye işlevinin daha önce çağrılıp kayıt kümesinin kapatılmaması durumunda sıfır olmayan; aksi takdirde 0.

Açıklamalar

CDaoRecordset::m_bCheckCacheForDirtyFields

Önbelleğe alınan alanların otomatik olarak kirli (değiştirilmiş) ve Null olarak işaretlenip işaretlenmediğini gösteren bir bayrak içerir.

Açıklamalar

Bayrak varsayılan olarak TRUE olarak ayarlanır. Bu veri üyesindeki ayar çift arabelleğe alma mekanizmasının tamamını denetler. Bayrağı TRUE olarak ayarlarsanız, DFX mekanizmasını kullanarak önbelleğe almayı alan temelinde kapatabilirsiniz. Bayrağı FALSE olarak ayarlarsanız, ve SetFieldNull kendinizi çağırmalısınızSetFieldDirty.

çağrısı Openöncesinde bu veri üyesini ayarlayın. Bu mekanizma öncelikli olarak kullanım kolaylığına yöneliktir. Değişiklikler yapılırken alanların iki kez arabelleğe alınması nedeniyle performans daha yavaş olabilir.

CDaoRecordset::m_nFields

Kayıt kümesi sınıfındaki alan veri üyesi sayısını ve veri kaynağından kayıt kümesi tarafından seçilen sütun sayısını içerir.

Açıklamalar

Kayıt kümesi sınıfının oluşturucusunun doğru sayıda statik olarak bağlı alanla başlatılması m_nFields gerekir. ClassWizard, kayıt kümesi sınıfınızı bildirmek için kullandığınızda bu başlatmayı sizin için yazar. El ile de yazabilirsiniz.

Çerçeve, alan veri üyeleriyle veri kaynağındaki geçerli kaydın ilgili sütunları arasındaki etkileşimi yönetmek için bu sayıyı kullanır.

Not

Bu numara, parametresiyle CDaoFieldExchange::outputColumnçağrısından SetFieldType sonra içinde DoFieldExchange kayıtlı çıkış sütunlarının sayısına karşılık olmalıdır.

ve CDaoRecordset::SetFieldValueyoluyla CDaoRecordset::GetFieldValue sütunları dinamik olarak bağlayabilirsiniz. Bunu yaparsanız, üye işlevinizdeki DFX işlev çağrılarının sayısını yansıtmak için içindeki sayıyı m_nFields artırmanız DoFieldExchange gerekmez.

CDaoRecordset::m_nParams

Kayıt kümesi sınıfındaki parametre veri üyesi sayısını ( kayıt kümesinin sorgusuyla geçirilen parametre sayısını) içerir.

Açıklamalar

Kayıt kümesi sınıfınızda herhangi bir parametre veri üyesi varsa, sınıfın oluşturucusunun doğru sayıyla m_nParams başlatması gerekir. m_nParams değeri varsayılan olarak 0'dır. Parametre veri üyeleri eklerseniz (el ile yapmanız gerekir), parametre sayısını (en az m_strFilter veya m_strSort dizenizdeki '' yer tutucularının sayısı kadar büyük olmalıdır) yansıtmak için sınıf oluşturucusunda el ile bir başlatma da eklemeniz gerekir.

Çerçeve, kayıt kümesinin sorgusunu parametreleştirdiğinde bu sayıyı kullanır.

Not

Bu numara, parametresiyle CFieldExchange::paramçağrısından sonra SetFieldType içinde kaydedilen DoFieldExchange "params" sayısına karşılık olmalıdır.

İlgili bilgiler için DAO Yardımı'ndaki "Parametre Nesnesi" konusuna bakın.

CDaoRecordset::m_pDAORecordset

Nesnenin temel aldığı DAO kayıt kümesi nesnesinin OLE arabirimine yönelik CDaoRecordset bir işaretçi içerir.

Açıklamalar

DAO arabirimine doğrudan erişmeniz gerekiyorsa bu işaretçiyi kullanın.

İlgili bilgiler için DAO Yardımı'ndaki "Kayıt Kümesi Nesnesi" konusuna bakın.

CDaoRecordset::m_pDatabase

Kayıt kümesinin CDaoDatabase bir veri kaynağına bağlandığı nesneye ilişkin bir işaretçi içerir.

Açıklamalar

Bu değişken iki şekilde ayarlanır. Genellikle, kayıt kümesi nesnesini oluştururken zaten açık CDaoDatabase olan bir nesneye işaretçi geçirirsiniz. Bunun yerine NULL geçirirseniz, CDaoRecordset sizin için bir CDaoDatabase nesne oluşturur ve bunu açar. Her iki durumda da işaretçiyi CDaoRecordset bu değişkende depolar.

Normalde içinde depolanan m_pDatabaseişaretçiyi doğrudan kullanmanız gerekmez. Ancak kendi uzantılarınızı CDaoRecordsetyazarsanız işaretçiyi kullanmanız gerekebilir. Örneğin, kendi CDaoExceptionişaretçinizi (ler) atarsanız işaretçiye ihtiyacınız olabilir.

İlgili bilgiler için DAO Yardımı'ndaki "Veritabanı Nesnesi" konusuna bakın.

CDaoRecordset::m_strFilter

BIR SQL deyiminin WHERE yan tümcesini oluşturmak için kullanılan bir dize içerir.

Açıklamalar

Kayıt kümesini filtrelemek için WHERE ayrılmış sözcüğünü içermez. Bu veri üyesinin kullanımı tablo türü kayıt kümeleri için geçerli değildir. kullanımı m_strFilter , işaretçi kullanarak CDaoQueryDef kayıt kümesini açarken hiçbir etkisi olmaz.

Microsoft Jet veritabanı altyapısının ABD sürümünü kullanmıyor olsanız bile tarih içeren alanları filtrelerken ABD tarih biçimini (ay-gün-yıl) kullanın; aksi takdirde veriler beklediğiniz gibi filtrelenmeyebilir.

İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Filtreleme" konusuna bakın.

CDaoRecordset::m_strSort

BIR SQL deyiminin ORDERBY yan tümcesini içeren ve ORDERBY ayrılmış sözcükleri içermeyen bir dize içerir.

Açıklamalar

Dinamik küme ve anlık görüntü türündeki kayıt kümesi nesnelerini sıralayabilirsiniz.

Tablo türündeki kayıt kümesi nesnelerini sıralayamazsınız. Tablo türündeki kayıt kümesinin sıralama düzenini belirlemek için SetCurrentIndex'i çağırın.

bir işaretçi kullanarak kayıt kümesini açarken m_strSort kullanımının hiçbir CDaoQueryDef etkisi yoktur.

İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Sıralama" konusuna bakın.

CDaoRecordset::Move

Geçerli kayıttan lRows kayıt kümesini konumlandırmak için bu üye işlevini çağırın.

virtual void Move(long lRows);

Parametreler

lRows
İleri veya geri taşınacak kayıt sayısı. Pozitif değerler, kayıt kümesinin sonuna doğru ilerler. Negatif değerler başa doğru geriye doğru hareket eder.

Açıklamalar

İleri veya geri gidebilirsiniz. Move( 1 ) , ile MoveNexteşdeğerdir ve Move( -1 ) ile MovePreveşdeğerdir.

Dikkat

Kayıt kümesinde Move kayıt yoksa işlevlerden herhangi birinin çağrılması bir özel durum oluşturur. Genel olarak, kayıt kümesinin herhangi bir kaydı olup olmadığını belirlemek için taşıma işleminden önce ve IsEOF hem hem de IsBOF çağırın. veya çağrısı Open yaptıktan sonra ya Requeryda IsBOF IsEOFöğesini arayın.

Not

Kayıt kümesinin başlangıcını veya sonunu kaydırdıysanız ( IsBOF veya IsEOF sıfır olmayan bir değer döndürürse) çağrısı Move oluşturur CDaoException.

Not

Geçerli kayıt güncelleştirilirken veya eklenirken işlevlerden herhangi birini Move çağırırsanız, güncelleştirmeler uyarı olmadan kaybolur.

Yalnızca ileriye doğru kaydırma anlık görüntüsünü çağırdığınızda Move , lRows parametresi pozitif bir tamsayı olmalıdır ve yer işaretlerine izin verilmez, böylece yalnızca ileri gidebilirsiniz.

Kayıt kümesindeki ilk, son, sonraki veya önceki kaydı geçerli kayıt yapmak için , MoveLast, MoveNextveya MovePrev üye işlevini çağırınMoveFirst.

İlgili bilgiler için DAO Yardımı'ndaki "MoveFirst, MoveLast, MoveNext, MovePrevious Methods" konularına bakın.

CDaoRecordset::MoveFirst

Kayıt kümesindeki ilk kaydı (varsa) geçerli kayıt yapmak için bu üye işlevini çağırın.

void MoveFirst();

Açıklamalar

Kayıt kümesini açtıktan hemen sonra çağırmanız MoveFirst gerekmez. Bu sırada, ilk kayıt (varsa) otomatik olarak geçerli kayıt olur.

Dikkat

Kayıt kümesinde Move kayıt yoksa işlevlerden herhangi birinin çağrılması bir özel durum oluşturur. Genel olarak, kayıt kümesinin herhangi bir kaydı olup olmadığını belirlemek için taşıma işleminden önce ve IsEOF hem hem de IsBOF çağırın. veya çağrısı Open yaptıktan sonra ya Requeryda IsBOF IsEOFöğesini arayın.

Not

Geçerli kayıt güncelleştirilirken veya eklenirken işlevlerden herhangi birini Move çağırırsanız, güncelleştirmeler uyarı olmadan kaybolur.

Move Koşul uygulamadan kayıttan kayda geçmek için işlevlerini kullanın. Belirli bir koşulu karşılayan dynaset türü veya anlık görüntü türü kayıt kümesi nesnesindeki kayıtları bulmak için Bul işlemlerini kullanın. Tablo türündeki kayıt kümesi nesnesindeki bir kaydı bulmak için çağrısı yapın Seek.

Kayıt kümesi tablo türündeki bir kayıt kümesine başvuruyorsa, hareket tablonun geçerli dizinini izler. Temel alınan DAO nesnesinin Index özelliğini kullanarak geçerli dizini ayarlayabilirsiniz. Geçerli dizini ayarlamazsanız, döndürülen kayıtların sırası tanımlanmamış olur.

SQL sorgusuna veya sorgu tanımına dayalı bir kayıt kümesi nesnesini çağırırsanız MoveLast , sorgu tamamlanmaya zorlanır ve kayıt kümesi nesnesi tam olarak doldurulur.

Veya MovePrev üye işlevini yalnızca ileriye doğru kaydırma anlık görüntüsüyle çağıramazsınızMoveFirst.

Kayıt kümesi nesnesindeki geçerli kaydın konumunu belirli sayıda kaydı ileri veya geri taşımak için çağrısı yapın Move.

İlgili bilgiler için DAO Yardımı'ndaki "MoveFirst, MoveLast, MoveNext, MovePrevious Methods" konularına bakın.

CDaoRecordset::MoveLast

Kayıt kümesindeki son kaydı (varsa) geçerli kayıt yapmak için bu üye işlevini çağırın.

void MoveLast();

Açıklamalar

Dikkat

Kayıt kümesinde Move kayıt yoksa işlevlerden herhangi birinin çağrılması bir özel durum oluşturur. Genel olarak, kayıt kümesinin herhangi bir kaydı olup olmadığını belirlemek için taşıma işleminden önce ve IsEOF hem hem de IsBOF çağırın. veya çağrısı Open yaptıktan sonra ya Requeryda IsBOF IsEOFöğesini arayın.

Not

Geçerli kayıt güncelleştirilirken veya eklenirken işlevlerden herhangi birini Move çağırırsanız, güncelleştirmeler uyarı olmadan kaybolur.

Move Koşul uygulamadan kayıttan kayda geçmek için işlevlerini kullanın. Belirli bir koşulu karşılayan dynaset türü veya anlık görüntü türü kayıt kümesi nesnesindeki kayıtları bulmak için Bul işlemlerini kullanın. Tablo türündeki kayıt kümesi nesnesindeki bir kaydı bulmak için çağrısı yapın Seek.

Kayıt kümesi tablo türündeki bir kayıt kümesine başvuruyorsa, hareket tablonun geçerli dizinini izler. Temel alınan DAO nesnesinin Index özelliğini kullanarak geçerli dizini ayarlayabilirsiniz. Geçerli dizini ayarlamazsanız, döndürülen kayıtların sırası tanımlanmamış olur.

SQL sorgusuna veya sorgu tanımına dayalı bir kayıt kümesi nesnesini çağırırsanız MoveLast , sorgu tamamlanmaya zorlanır ve kayıt kümesi nesnesi tam olarak doldurulur.

Kayıt kümesi nesnesindeki geçerli kaydın konumunu belirli sayıda kaydı ileri veya geri taşımak için çağrısı yapın Move.

İlgili bilgiler için DAO Yardımı'ndaki "MoveFirst, MoveLast, MoveNext, MovePrevious Methods" konularına bakın.

CDaoRecordset::MoveNext

Kayıt kümesindeki bir sonraki kaydı geçerli kayıt yapmak için bu üye işlevini çağırın.

void MoveNext();

Açıklamalar

Önceki kayda geçmeyi denemeden önce aramanız IsBOF önerilir. çağrısı sıfır olmayan bir değer döndürürseIsBOF, ilk kayıt öncesinde zaten kaydırma yaptığınız veya kayıt kümesi tarafından hiçbir kayıt seçilmediğini belirten bir CDaoException çağrısı MovePrev oluşturur.

Dikkat

Kayıt kümesinde Move kayıt yoksa işlevlerden herhangi birinin çağrılması bir özel durum oluşturur. Genel olarak, kayıt kümesinin herhangi bir kaydı olup olmadığını belirlemek için taşıma işleminden önce ve IsEOF hem hem de IsBOF çağırın. veya çağrısı Open yaptıktan sonra ya Requeryda IsBOF IsEOFöğesini arayın.

Not

Geçerli kayıt güncelleştirilirken veya eklenirken işlevlerden herhangi birini Move çağırırsanız, güncelleştirmeler uyarı olmadan kaybolur.

Move Koşul uygulamadan kayıttan kayda geçmek için işlevlerini kullanın. Belirli bir koşulu karşılayan dynaset türü veya anlık görüntü türü kayıt kümesi nesnesindeki kayıtları bulmak için Bul işlemlerini kullanın. Tablo türündeki kayıt kümesi nesnesindeki bir kaydı bulmak için çağrısı yapın Seek.

Kayıt kümesi tablo türündeki bir kayıt kümesine başvuruyorsa, hareket tablonun geçerli dizinini izler. Temel alınan DAO nesnesinin Index özelliğini kullanarak geçerli dizini ayarlayabilirsiniz. Geçerli dizini ayarlamazsanız, döndürülen kayıtların sırası tanımlanmamış olur.

Kayıt kümesi nesnesindeki geçerli kaydın konumunu belirli sayıda kaydı ileri veya geri taşımak için çağrısı yapın Move.

İlgili bilgiler için DAO Yardımı'ndaki "MoveFirst, MoveLast, MoveNext, MovePrevious Methods" konularına bakın.

CDaoRecordset::MovePrev

Kayıt kümesindeki önceki kaydı geçerli kayıt yapmak için bu üye işlevini çağırın.

void MovePrev();

Açıklamalar

Önceki kayda geçmeyi denemeden önce aramanız IsBOF önerilir. çağrısı sıfır olmayan bir değer döndürürseIsBOF, ilk kayıt öncesinde zaten kaydırma yaptığınız veya kayıt kümesi tarafından hiçbir kayıt seçilmediğini belirten bir CDaoException çağrısı MovePrev oluşturur.

Dikkat

Kayıt kümesinde Move kayıt yoksa işlevlerden herhangi birinin çağrılması bir özel durum oluşturur. Genel olarak, kayıt kümesinin herhangi bir kaydı olup olmadığını belirlemek için taşıma işleminden önce ve IsEOF hem hem de IsBOF çağırın. veya çağrısı Open yaptıktan sonra ya Requeryda IsBOF IsEOFöğesini arayın.

Not

Geçerli kayıt güncelleştirilirken veya eklenirken işlevlerden herhangi birini Move çağırırsanız, güncelleştirmeler uyarı olmadan kaybolur.

Move Koşul uygulamadan kayıttan kayda geçmek için işlevlerini kullanın. Belirli bir koşulu karşılayan dynaset türü veya anlık görüntü türü kayıt kümesi nesnesindeki kayıtları bulmak için Bul işlemlerini kullanın. Tablo türündeki kayıt kümesi nesnesindeki bir kaydı bulmak için çağrısı yapın Seek.

Kayıt kümesi tablo türündeki bir kayıt kümesine başvuruyorsa, hareket tablonun geçerli dizinini izler. Temel alınan DAO nesnesinin Index özelliğini kullanarak geçerli dizini ayarlayabilirsiniz. Geçerli dizini ayarlamazsanız, döndürülen kayıtların sırası tanımlanmamış olur.

Veya MovePrev üye işlevini yalnızca ileriye doğru kaydırma anlık görüntüsüyle çağıramazsınızMoveFirst.

Kayıt kümesi nesnesindeki geçerli kaydın konumunu belirli sayıda kaydı ileri veya geri taşımak için çağrısı yapın Move.

İlgili bilgiler için DAO Yardımı'ndaki "MoveFirst, MoveLast, MoveNext, MovePrevious Methods" konularına bakın.

CDaoRecordset::Open

Kayıt kümesinin kayıtlarını almak için bu üye işlevini çağırmanız gerekir.

virtual void Open(
    int nOpenType = AFX_DAO_USE_DEFAULT_TYPE,
    LPCTSTR lpszSQL = NULL,
    int nOptions = 0);

virtual void Open(
    CDaoTableDef* pTableDef,
    int nOpenType = dbOpenTable,
    int nOptions = 0);

virtual void Open(
    CDaoQueryDef* pQueryDef,
    int nOpenType = dbOpenDynaset,
    int nOptions = 0);

Parametreler

nOpenType
Aşağıdaki değerlerden biri:

  • dbOpenDynaset Çift yönlü kaydırma ile dinamik küme türündeki kayıt kümesi. Bu varsayılan seçenektir.

  • dbOpenTable Çift yönlü kaydırmalı tablo türündeki kayıt kümesi.

  • dbOpenSnapshot Çift yönlü kaydırma ile anlık görüntü türündeki kayıt kümesi.

lpszSQL
Aşağıdakilerden birini içeren bir dize işaretçisi:

  • NULL işaretçisi.

  • Bir veya daha fazla tablo tanımı ve/veya sorgu tanımı (virgülle ayrılmış) adı.

  • SQL SELECT deyimi (isteğe bağlı olarak SQL WHERE veya ORDERBY yan tümcesiyle).

  • Geçiş sorgusu.

nSeçenekler
Aşağıda listelenen seçeneklerden biri veya daha fazlası. Varsayılan değer 0'tir. Olası değerler aşağıdaki gibidir:

  • dbAppendOnly Yalnızca yeni kayıtları ekleyebilirsiniz (yalnızca dynaset türündeki kayıt kümesi). Bu seçenek tam anlamıyla kayıtların yalnızca eklenebileceği anlamına gelir. MFC ODBC veritabanı sınıfları, kayıtların alınmasına ve eklenmesine izin veren yalnızca ekleme seçeneğine sahiptir.

  • dbForwardOnly Kayıt kümesi yalnızca ileriye doğru kaydırma anlık görüntüsüdür.

  • dbSeeChanges Başka bir kullanıcı düzenlediğiniz verileri değiştiriyorsa bir özel durum oluşturun.

  • dbDenyWrite Diğer kullanıcılar kayıtları değiştiremez veya ekleyemez.

  • dbDenyRead Diğer kullanıcılar kayıtları görüntüleyemez (yalnızca tablo türündeki kayıt kümesi).

  • dbReadOnly Yalnızca kayıtları görüntüleyebilirsiniz; diğer kullanıcılar bunları değiştirebilir.

  • dbInconsistent Tutarsız güncelleştirmelere izin verilir (yalnızca dinamik küme türü kayıt kümesi).

  • dbConsistent Yalnızca tutarlı güncelleştirmelere izin verilir (yalnızca dinamik küme türündeki kayıt kümesi).

Not

ve dbInconsistent sabitleri dbConsistent birbirini dışlar. Birini veya diğerini kullanabilirsiniz, ancak her ikisini de belirli bir örneğinde Openkullanamazsınız.

pTableDef
CDaoTableDef nesnesinin işaretçisi. Bu sürüm yalnızca tablo türündeki kayıt kümeleri için geçerlidir. Bu seçenek kullanıldığında, CDaoDatabase öğesini oluşturmak CDaoRecordset için kullanılan işaretçi kullanılmaz; bunun yerine tabledef'in bulunduğu veritabanı kullanılır.

pQueryDef
CDaoQueryDef nesnesinin işaretçisi. Bu sürüm yalnızca dynaset türü ve anlık görüntü türü kayıt kümeleri için geçerlidir. Bu seçenek kullanılırken, CDaoDatabase öğesini oluşturmak CDaoRecordset için kullanılan işaretçi kullanılmaz; bunun yerine sorgu tanımında bulunan veritabanı kullanılır.

Açıklamalar

çağrısından Openönce kayıt kümesi nesnesini oluşturmanız gerekir. Bunu yapmanın birkaç yolu vardır:

  • Kayıt kümesi nesnesini oluştururken, zaten açık olan bir nesneye bir CDaoDatabase işaretçi geçirin.

  • Kayıt kümesi nesnesini oluşturduğunuzda, açık olmayan bir nesneye bir CDaoDatabase işaretçi geçirin. Kayıt kümesi bir CDaoDatabase nesne açar, ancak kayıt kümesi nesnesi kapatıldığında nesneyi kapatmaz.

  • Kayıt kümesi nesnesini oluşturduğunuzda NULL işaretçisi geçirin. Kayıt kümesi nesnesi, Microsoft Access'in adını almak için öğesini çağırır GetDefaultDBName . Açılacak MDB dosyası. Daha sonra kayıt kümesi bir CDaoDatabase nesneyi açar ve kayıt kümesi açık olduğu sürece açık tutar. Kayıt kümesinde çağırdığınızda Close , CDaoDatabase nesne de kapatılır.

    Not

    Kayıt kümesi nesneyi açtığında CDaoDatabase , veri kaynağını münhasır olmayan erişimle açar.

lpszSQL parametresini kullanan sürümü Open için kayıt kümesi açıldıktan sonra kayıtları birkaç yoldan biriyle alabilirsiniz. İlk seçenek, DFX işlevlerinin içinde DoFieldExchangeolmasıdır. İkinci seçenek, üye işlevini çağırarak dinamik bağlamayı kullanmaktır GetFieldValue . Bu seçenekler ayrı olarak veya birlikte uygulanabilir. Bunlar birleştirilirse, çağrısında SQL deyimini kendiniz geçirmeniz gerekir Open.

nesnesinde CDaoTableDef geçirdiğiniz ikinci sürümünü Open kullandığınızda, sonuçta elde edilen sütunlar ile ve DFX mekanizması aracılığıyla DoFieldExchange bağlamanız ve/veya aracılığıyla GetFieldValuedinamik olarak bağlamanız için kullanılabilir.

Not

Yalnızca tablo türündeki kayıt kümeleri için bir CDaoTableDef nesne kullanarak çağırabilirsinizOpen.

Nesnesini CDaoQueryDef geçirdiğiniz üçüncü sürümünü Open kullandığınızda, bu sorgu yürütülür ve sonuçta elde edilen sütunlar ile ve DFX mekanizması aracılığıyla DoFieldExchange bağlamanız ve/veya aracılığıyla GetFieldValuedinamik olarak bağlamanız için kullanılabilir.

Not

Yalnızca dynaset türü ve anlık görüntü türü kayıt kümeleri için bir CDaoQueryDef nesne kullanarak çağırabilirsinizOpen.

parametresini Open kullanan ilk sürümü için lpszSQL kayıtlar aşağıdaki tabloda gösterilen ölçütlere göre seçilir.

Parametrenin lpszSQL değeri Seçilen kayıtlar Örnek
NULL tarafından GetDefaultSQLdöndürülen dize.
Bir veya daha fazla tablo tanımı ve/veya sorgu tanımı adının virgülle ayrılmış listesi. içinde DoFieldExchangetemsil edilen tüm sütunlar. "Customer"
SELECT sütun-listesi FROM tablo-listesi Belirtilen tablo tanımlarından ve/veya sorgu tanımlarından belirtilen sütunlar. "SELECT CustId, CustName

FROM Customer"

Her zamanki yordam, öğesine NULL Opengeçirmektir; bu durumda, Open ClassWizard'ın türetilmiş bir sınıf oluştururken oluşturduğu geçersiz kılınabilir üye CDaoRecordsetişlevini çağırırGetDefaultSQL. Bu değer ClassWizard'da belirttiğiniz tabledef(ler) ve/veya sorgu tanımı adlarını verir. Bunun yerine lpszSQL parametresinde başka bilgiler belirtebilirsiniz.

Ne geçirirseniz geçirin, Open sorgu için son bir SQL dizesi oluşturur (dizede geçirdiğiniz lpszSQL dizesine SQL WHERE ve ORDERBY yan tümceleri eklenmiş olabilir) ve sorguyu yürütür. çağrısından Opensonra çağırarakGetSQL, oluşturduğunuz dizeyi inceleyebilirsiniz.

Kayıt kümesi sınıfınızın alan verileri üyeleri, seçilen verilerin sütunlarına bağlıdır. Herhangi bir kayıt döndürülürse, ilk kayıt geçerli kayıt olur.

Kayıt kümesi için filtre veya sıralama gibi seçenekleri ayarlamak istiyorsanız, kayıt kümesi nesnesini oluşturmadan önce, çağırmadan Openönce ayarlayın m_strSort veya m_strFilter sonra ayarlayın. Kayıt kümesi zaten açık olduktan sonra kayıt kümesindeki kayıtları yenilemek istiyorsanız çağrısında bulunur Requery.

Dynaset türünde veya anlık görüntü türü kayıt kümesinde çağırırsanız Open ya da veri kaynağı ekli tabloyu temsil eden bir SQL deyimine veya tablo tanımına başvuruyorsa, tür bağımsız değişkeni için kullanamazsınız dbOpenTable ; bunu yaparsanız, MFC bir özel durum oluşturur. Tabledef nesnesinin ekli bir tabloyu temsil edip etmediğini belirlemek için bir CDaoTableDef nesnesi oluşturun ve GetConnect üye işlevini çağırun.

dbSeeChanges Aynı kaydı düzenlerken veya silerken makinenizde başka bir kullanıcı veya başka bir program tarafından yapılan değişiklikleri yakalamak istiyorsanız bayrağını kullanın. Örneğin, iki kullanıcı aynı kaydı düzenlemeye başlarsa, üye işlevini çağıran Update ilk kullanıcı başarılı olur. İkinci kullanıcı tarafından çağrıldığında Update , bir CDaoException oluşturulur. Benzer şekilde, ikinci kullanıcı kaydı silmek için aramayı Delete denerse ve ilk kullanıcı tarafından zaten değiştirilmişse, bir CDaoException gerçekleşir.

Genellikle, kullanıcı güncelleştirme sırasında bunu CDaoException alırsa, kodunuz alanların içeriğini yenilemeli ve yeni değiştirilen değerleri almalıdır. Silme işleminde özel durum oluşursa kodunuz kullanıcıya yeni kayıt verilerini ve verilerin yakın zamanda değiştiğini belirten bir ileti görüntüleyebilir. Bu noktada kodunuz, kullanıcının kaydı hala silmek istediğini belirten bir onay isteyebilir.

İpucu

Uygulamanız ODBC veri kaynağından açılan bir kayıt kümesinden tek geçiş yaptığında performansı artırmak için yalnızca ileri kaydırma seçeneğini (dbForwardOnly) kullanın.

İlgili bilgiler için DAO Yardımı'ndaki "OpenRecordset Yöntemi" konusuna bakın.

CDaoRecordset::Requery

Kayıt kümesini yeniden oluşturmak (yenilemek) için bu üye işlevini çağır.

virtual void Requery();

Açıklamalar

Herhangi bir kayıt döndürülürse, ilk kayıt geçerli kayıt olur.

Kayıt kümesinin sizin veya diğer kullanıcıların veri kaynağına yaptığı eklemeleri ve silmeleri yansıtması için, çağırarak Requerykayıt kümesini yeniden oluşturmanız gerekir. Kayıt kümesi bir dinamik kümeyse, sizin veya diğer kullanıcıların mevcut kayıtlarında (eklemeleri değil) yaptığı güncelleştirmeleri otomatik olarak yansıtır. Kayıt kümesi bir anlık görüntüyse, eklemeler ve silmelerin yanı sıra diğer kullanıcıların düzenlemelerini yansıtmak için çağırmalısınız Requery .

Dinamik küme veya anlık görüntü için, parametre değerlerini kullanarak kayıt kümesini yeniden oluşturmak istediğiniz zaman çağırın Requery . çağrısından Requeryönce m_strFilter ve m_strSort ayarlayarak yeni filtreyi ayarlayın veya sıralayın. çağrısı Requeryöncesinde parametre veri üyelerine yeni değerler atayarak yeni parametreler ayarlayın.

Kayıt kümesini yeniden oluşturma girişimi başarısız olursa, kayıt kümesi kapatılır. çağrısından Requeryönce, CanRestart üye işlevini çağırarak kayıt kümesinin yeniden sorgulanıp sorgulanamadığını belirleyebilirsiniz. CanRestart başarılı olacağını garanti Requery etmez.

Dikkat

Yalnızca çağrısı Requery yaptıktan sonra arayın Open.

Not

Requery çağrısı, DAO yer işaretlerini değiştirir.

Çağrı 0 döndürürse dynaset türünde veya anlık görüntü türündeki kayıt kümesinde çağrı Requery CanRestart yapamazsınız veya tablo türündeki bir kayıt kümesinde kullanamazsınız.

çağrısından Requerysonra hem hem IsEOF de IsBOF sıfırdan farklı bir değer döndürürse, sorgu hiçbir kayıt döndürmez ve kayıt kümesi veri içermez.

İlgili bilgiler için DAO Yardımı'ndaki "Yeniden Sorgulama Yöntemi" konusuna bakın.

CDaoRecordset::Seek

Bu üye işlevini çağırarak geçerli dizin için belirtilen ölçütlere uyan dizine alınan tablo türündeki kayıt kümesi nesnesindeki kaydı bulun ve bu kaydın geçerli kaydı yapmasını sağlayın.

BOOL Seek(
    LPCTSTR lpszComparison,
    COleVariant* pKey1,
    COleVariant* pKey2 = NULL,
    COleVariant* pKey3 = NULL);

BOOL Seek(
    LPCTSTR lpszComparison,
    COleVariant* pKeyArray,
    WORD nKeys);

Parametreler

lpszComparison
Aşağıdaki dize ifadelerinden biri: "<", "<=", "=", ">=" veya ">".

pKey1
Değeri dizindeki ilk alana karşılık gelen bir COleVariant işaretçisi. Gerekli.

pKey2
Değeri dizindeki ikinci alana (varsa) karşılık gelen bir COleVariant işaretçi. Varsayılan değer NULL'tır.

pKey3
Değeri, varsa dizindeki üçüncü alana karşılık gelen bir COleVariant işaretçi. Varsayılan değer NULL'tır.

pKeyArray
Bir değişken dizisi işaretçisi. Dizi boyutu, dizindeki alan sayısına karşılık gelir.

nKeys
Dizinin boyutuna karşılık gelen ve dizindeki alanların sayısı olan tamsayı.

Not

Anahtarlarda joker karakter belirtmeyin. Joker karakterler eşleşen kayıt döndürmemeye neden Seek olur.

Dönüş Değeri

Eşleşen kayıtlar bulunursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

dört veya daha fazla alanın dizinlerini işlemek için ikinci (dizi) sürümünü Seek kullanın.

Seek tablo türündeki kayıt kümelerinde yüksek performanslı dizin aramasını etkinleştirir. çağrısından Seekönce çağırarak SetCurrentIndex geçerli dizini ayarlamanız gerekir. Dizin bir nonunique anahtar alanı veya alanları tanımlarsa, Seek ölçütleri karşılayan ilk kaydı bulur. Dizin ayarlamazsanız, bir özel durum oluşturulur.

UNICODE kayıt kümesi oluşturmuyorsanız nesnelerin COleVariant açıkça ANSI olarak bildirilmesi gerektiğini unutmayın. Bu işlem, vtSrc ayarı (ANSI) olan oluşturucunun COleVariant::COleVariant( lpszSrc , vtSrc ) formu kullanılarak veya vtSrc olarak ayarlanmış VT_BSTRT VT_BSTRTSetString( lpszSrc , vtSrc ) işlevi kullanılarak COleVariant yapılabilir.

çağırdığınızda Seek, bir veya daha fazla anahtar değeri ve karşılaştırma işleci ("<", "<=", "=", ">=" veya ">") geçirirsiniz. Seekbelirtilen anahtar alanlarını arar ve lpszComparison ve pKey1 tarafından belirtilen ölçütleri karşılayan ilk kaydı bulur. Bulunduktan sonra sıfır Seek olmayan değerini döndürür ve bu kaydı güncel hale getirir. Eşleşme bulunamıyorsa Seek sıfır Seek döndürür ve geçerli kayıt tanımlanmamış olur. DAO'yu doğrudan kullanırken, NoMatch özelliğini açıkça denetlemeniz gerekir.

"=", ">=" veya ">" iselpszComparison, Seek dizinin başında başlar. lpszComparison "" veya "<<=" ise, Seek dizinin sonunda başlar ve sonunda yinelenen dizin girdileri olmadığı sürece geriye doğru arar. Bu durumda, Seek dizinin sonundaki yinelenen dizin girişleri arasında rastgele bir girişte başlar.

kullanırken Seekgeçerli bir kayıt olması gerekmez.

Belirli bir koşulu karşılayan dynaset veya anlık görüntü türü kayıt kümesindeki bir kaydı bulmak için Bul işlemlerini kullanın. Yalnızca belirli bir koşulu karşılayan kayıtları değil tüm kayıtları dahil etmek için, Kayıttan kayda geçmek için Taşıma işlemlerini kullanın.

Ekli tabloların dynaset türü veya anlık görüntü türü kayıt kümeleri olarak açılması gerektiğinden, herhangi bir türde ekli tabloda çağrı Seek yapamazsınız. Ancak, doğrudan yüklenebilir bir ISAM veritabanını açmayı çağırırsanız CDaoDatabase::Open , performans yavaş olsa da bu veritabanındaki tabloları çağırabilirsiniz Seek .

İlgili bilgiler için DAO Yardımı'ndaki "Arama Yöntemi" konusuna bakın.

CDaoRecordset::SetAbsolutePosition

Kayıt kümesi nesnesinin geçerli kaydının göreli kayıt numarasını ayarlar.

void SetAbsolutePosition(long lPosition);

Parametreler

lPosition
Kayıt kümesindeki geçerli kaydın sıralı konumuna karşılık gelir.

Açıklamalar

Çağırma SetAbsolutePosition , geçerli kayıt işaretçisini dinamik küme türündeki veya anlık görüntü türü kayıt kümesindeki sıralı konumuna göre belirli bir kayda konumlandırmanızı sağlar. GetAbsolutePosition çağrısı yaparak da geçerli kayıt numarasını belirleyebilirsiniz.

Not

Bu üye işlevi yalnızca dynaset türü ve anlık görüntü türü kayıt kümeleri için geçerlidir.

Temel alınan DAO nesnesinin AbsolutePosition özellik değeri sıfır tabanlıdır; 0 ayarı kayıt kümesindeki ilk kayda başvurur. Doldurulan kayıt sayısından büyük bir değer ayarlamak, MFC'nin özel durum oluşturmasına neden olur. Üye işlevini çağırarak kayıt kümesindeki doldurulan kayıtların GetRecordCount sayısını belirleyebilirsiniz.

Geçerli kayıt silinirse, AbsolutePosition özellik değeri tanımlanmaz ve başvuruluysa MFC bir özel durum oluşturur. Sıranın sonuna yeni kayıtlar eklenir.

Not

Bu özelliğin vekil kayıt numarası olarak kullanılması amaçlanmamıştır. Yer işaretleri hala belirli bir konuma geri dönmenin önerilen yoludur ve geçerli kaydı yer işaretlerini destekleyen tüm kayıt kümesi nesneleri arasında konumlandırmanın tek yoludur. Özellikle, bir önceki kayıtlar silindiğinde belirli bir kaydın konumu değişir. Ayrıca, bir kayıt kümesi içindeki tek tek kayıtların sırası ORDERBY yan tümcesi kullanılarak bir SQL deyimiyle oluşturulmadığı sürece garanti edilmediğinden, kayıt kümesi yeniden oluşturulursa belirli bir kaydın aynı mutlak konuma sahip olacağının güvencesi yoktur.

İlgili bilgiler için DAO Yardımı'ndaki "AbsolutePosition Özelliği" konusuna bakın.

CDaoRecordset::SetBookmark

Kayıt kümesini belirtilen yer işaretini içeren kayıtta konumlandırmak için bu üye işlevini çağırın.

void SetBookmark(COleVariant varBookmark);

Parametreler

varBookmark
Belirli bir kaydın yer işareti değerini içeren bir COleVariant nesnesi.

Açıklamalar

Bir kayıt kümesi nesnesi oluşturulduğunda veya açıldığında, kayıtlarının her birinin benzersiz bir yer işareti vardır. Değerini çağırarak GetBookmark ve bir COleVariant nesneye kaydederek geçerli kaydın yer işaretini alabilirsiniz. Daha sonra kaydedilen yer işareti değerini kullanarak arayarak SetBookmark bu kayda dönebilirsiniz.

Not

Requery çağrısı, DAO yer işaretlerini değiştirir.

UNICODE kayıt kümesi oluşturmuyorsanız nesnenin COleVariant açıkça ANSI olarak bildirilmesi gerektiğini unutmayın. Bu işlem, vtSrc ayarı (ANSI) olan oluşturucunun COleVariant::COleVariant( lpszSrc , vtSrc ) formu kullanılarak veya vtSrc olarak ayarlanmış VT_BSTRT VT_BSTRTSetString( lpszSrc , vtSrc ) işlevi kullanılarak COleVariant yapılabilir.

İlgili bilgiler için DAO Yardımı'ndaki "Yer İşareti Özelliği" ve Yer İşaretlenebilir Özellik" konularına bakın.

CDaoRecordset::SetCacheSize

Önbelleğe alınacak kayıt sayısını ayarlamak için bu üye işlevini çağırın.

void SetCacheSize(long lSize);

Parametreler

lSize
Kayıt sayısını belirtir. Tipik bir değer 100'dür. 0 ayarı önbelleğe almayı kapatır. Ayar 5 ile 1200 kayıt arasında olmalıdır. Önbellek önemli miktarda bellek kullanabilir.

Açıklamalar

Önbellek, uygulama çalışırken verilerin yeniden isteneceği durumda sunucudan en son alınan verileri tutan yerel bellekte yer alan bir alandır. Veri önbelleğe alma, dinamik küme türündeki kayıt kümesi nesneleri aracılığıyla uzak sunucudan veri alan bir uygulamanın performansını artırır. Veriler istendiğinde, Microsoft Jet veritabanı altyapısı istenen verileri sunucudan almak yerine önce önbelleği denetler ve bu da daha fazla zaman alır. ODBC veri kaynağından gelmeyen veriler önbellekte kaydedilmez.

Ekli tablo gibi herhangi bir ODBC veri kaynağı yerel önbelleğe sahip olabilir. Önbelleği oluşturmak için uzak veri kaynağından bir kayıt kümesi nesnesi açın, ve SetCacheStart üye işlevlerini çağırın SetCacheSize ve ardından üye işlevini çağırın FillCache veya Taşıma işlemlerinden birini kullanarak kayıtlarda ilerleyin. Üye işlevinin SetCacheSize lSize parametresi, uygulamanızın aynı anda çalışabileceği kayıt sayısına bağlı olabilir. Örneğin, ekranda görüntülenecek verilerin kaynağı olarak bir kayıt kümesi kullanıyorsanız, aynı anda 20 kaydı görüntülemek için lSize parametresini 20 olarak geçirebilirsiniz.SetCacheSize

İlgili bilgiler için DAO Yardımı'ndaki "CacheSize, CacheStart Özellikleri" konusuna bakın.

CDaoRecordset::SetCacheStart

Önbelleğe alınacak kayıt kümesindeki ilk kaydın yer işaretini belirtmek için bu üye işlevini çağırın.

void SetCacheStart(COleVariant varBookmark);

Parametreler

varBookmark
Önbelleğe alınacak kayıt kümesindeki ilk kaydın yer işaretini belirten bir COleVariant.

Açıklamalar

Üye işlevinin varBookmark parametresi için herhangi bir kaydın SetCacheStart yer işareti değerini kullanabilirsiniz. Önbelleği geçerli kayıtla başlatmak istediğiniz kaydı oluşturun, SetBookmark'ı kullanarak bu kayıt için bir yer işareti oluşturun ve üye işlevinin parametresi SetCacheStart olarak yer işareti değerini geçirin.

Microsoft Jet veritabanı altyapısı önbellek aralığındaki kayıtları önbellekten ve önbellek aralığının dışındaki kayıtları sunucudan istemektedir.

Önbellekten alınan kayıtlar, diğer kullanıcılar tarafından kaynak verilerde eşzamanlı olarak yapılan değişiklikleri yansıtmaz.

Önbelleğe alınan tüm verilerin güncelleştirmeyi zorlamak için lSize parametresini SetCacheSize 0 olarak geçirin, ilk olarak istediğiniz önbelleğin boyutuyla yeniden çağırın SetCacheSize ve üye işlevini çağırınFillCache.

UNICODE kayıt kümesi oluşturmuyorsanız nesnenin COleVariant açıkça ANSI olarak bildirilmesi gerektiğini unutmayın. Bu işlem, vtSrc ayarı (ANSI) olan oluşturucunun COleVariant::COleVariant( lpszSrc , vtSrc ) formu kullanılarak veya vtSrc olarak ayarlanmış VT_BSTRT VT_BSTRTSetString( lpszSrc , vtSrc ) işlevi kullanılarak COleVariant yapılabilir.

İlgili bilgiler için DAO Yardımı'ndaki CacheSize, CacheStart Properties" konusuna bakın.

CDaoRecordset::SetCurrentIndex

Tablo türündeki kayıt kümesinde dizin ayarlamak için bu üye işlevini çağır.

void SetCurrentIndex(LPCTSTR lpszIndex);

Parametreler

lpszIndex
Ayarlanacak dizinin adını içeren bir işaretçi.

Açıklamalar

Temel tablolardaki kayıtlar belirli bir sırada depolanmaz. Dizin ayarlamak, veritabanından döndürülen kayıtların sırasını değiştirir, ancak kayıtların depolanma sırasını etkilemez. Belirtilen dizin zaten tanımlanmış olmalıdır. Var olmayan bir dizin nesnesi kullanmayı denerseniz veya Arama'yı çağırdığınızda dizin ayarlanmazsa, MFC bir özel durum oluşturur.

CDaoTableDef::CreateIndex'i çağırarak ve CDaoTableDef::Append'i çağırıp kayıt kümesini yeniden açarak yeni dizini temel tablo tanımı indexes koleksiyonuna ekleyerek tablo için yeni bir dizin oluşturabilirsiniz.

Tablo türündeki kayıt kümesinden döndürülen kayıtlar yalnızca temel tablo tanımı için tanımlanan dizinler tarafından sıralanabilir. Kayıtları başka bir düzende sıralamak için, CDaoRecordset::m_strSort içinde depolanan bir SQL ORDERBY yan tümcesini kullanarak dynaset türü veya anlık görüntü türü kayıt kümesini açabilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "Dizin Nesnesi" konusuna ve "geçerli dizin" tanımına bakın.

CDaoRecordset::SetFieldDirty

Kayıt kümesinin alan veri üyesini değiştirilmiş veya değişmemiş olarak işaretlemek için bu üye işlevini çağırın.

void SetFieldDirty(
    void* pv,
    BOOL bDirty = TRUE);

Parametreler

Pv
Kayıt kümesindeki veya NULL'daki bir alan veri üyesinin adresini içerir. NULL ise, kayıt kümesindeki tüm alan verileri üyelerine bayrak eklenir. (C++ NULL, veritabanı terminolojisindeki Null ile aynı değildir; bu da "değere sahip olmadığı" anlamına gelir.)

bDirty
Alan veri üyesi "kirli" (değiştirildi) olarak işaretlenecekse TRUE. Aksi takdirde, alan veri üyesi "temiz" (değişmemiş) olarak işaretlenecekse YANLIŞ.

Açıklamalar

Alanları değişmemiş olarak işaretlemek, alanın güncelleştirilmemesini sağlar.

Çerçeve, daO kayıt alanı değişimi (DFX) mekanizması tarafından veri kaynağındaki kayda yazılacaklarından emin olmak için değiştirilen alan veri üyelerini işaretler. Bir alanın değerinin değiştirilmesi genellikle alanı otomatik olarak kirli olarak ayarlar, bu nedenle nadiren kendinizi çağırmanız SetFieldDirty gerekir, ancak bazen alan veri üyesindeki değerden bağımsız olarak sütunların açıkça güncelleştirilmesini veya eklenmesini isteyebilirsiniz. DFX mekanizması aynı zamanda PSEUDONULL kullanımını da kullanır. Daha fazla bilgi için bkz . CDaoFieldExchange::m_nOperation.

Çift arabelleğe alma mekanizması kullanılmıyorsa, alanın değerini değiştirmek alanı otomatik olarak kirli olarak ayarlamaz. Bu durumda, alanı açıkça kirli olarak ayarlamak gerekir. m_bCheckCacheForDirtyFields içindeki bayrak bu otomatik alan denetimini denetler.

Not

Bu üye işlevini yalnızca Düzenle veya EkleYeni olarak adlandırdıktan sonra çağır.

İşlevin ilk bağımsız değişkeni için NULL kullanıldığında işlevi içindeki param alanlarına değil tüm outputColumn alanlara CDaoFieldExchangeuygulanır. Örneğin, arama

SetFieldDirty(NULL);

yalnızca outputColumn alanları NULL olarak ayarlar; param alanları etkilenmez.

Bir param üzerinde çalışmak için, üzerinde çalışmak istediğiniz bağımsız parametrenin gerçek adresini sağlamanız gerekir, örneğin:

SetFieldDirty(&m_strParam);

Bu, alanlarla outputColumn yapabileceğiniz gibi tüm param alanlarını NULL olarak ayarlayamayacağınız anlamına gelir.

SetFieldDirty aracılığıyla DoFieldExchangeuygulanır.

CDaoRecordset::SetFieldNull

Kayıt kümesinin alan veri üyesini Null (özellikle değer içermeyen) veya Null olmayan olarak işaretlemek için bu üye işlevini çağırın.

void SetFieldNull(
    void* pv,
    BOOL bNull = TRUE);

Parametreler

Pv
Kayıt kümesindeki veya NULL'daki bir alan veri üyesinin adresini içerir. NULL ise, kayıt kümesindeki tüm alan verileri üyelerine bayrak eklenir. (C++ NULL, veritabanı terminolojisindeki Null ile aynı değildir; bu da "değere sahip olmadığı" anlamına gelir.)

bNull
Alan veri üyesi hiçbir değere (Null) sahip olarak işaretlenecekse sıfır olmayan. Aksi takdirde, alan veri üyesi Null olmayan olarak işaretlenecekse 0.

Açıklamalar

SetFieldNull mekanizmaya DoFieldExchange bağlı alanlar için kullanılır.

Kayıt kümesine yeni bir kayıt eklediğinizde, tüm alan veri üyeleri başlangıçta Null değerine ayarlanır ve "kirli" (değiştirildi) olarak işaretlenir. Bir veri kaynağından kayıt aldığınızda, sütunlarının değerleri zaten vardır veya Null'tır. Boş alan yapmak uygun değilse, bir CDaoException oluşturulur.

Çift arabelleğe alma mekanizmasını kullanıyorsanız, örneğin, özellikle geçerli kaydın bir alanını değere sahip değil olarak belirlemek istiyorsanız, bNull değeri TRUE olarak ayarlanmış olarak çağırarak SetFieldNull Null olarak bayrak ekleyin. Bir alan daha önce Null olarak işaretlendiyse ve şimdi ona bir değer vermek istiyorsanız, yeni değerini ayarlamanız yeterlidir. ile SetFieldNullNull bayrağını kaldırmanız gerekmez. Alanın Null olmasına izin verilip verilmeyeceğini belirlemek için IsFieldNullable'ı çağırın.

Çift arabelleğe alma mekanizmasını kullanmıyorsanız, alanın değerini değiştirmek alanı otomatik olarak kirli ve Null olmayan olarak ayarlamaz. Özel olarak kirli ve Null olmayan alanları ayarlamanız gerekir. m_bCheckCacheForDirtyFields içindeki bayrak bu otomatik alan denetimini denetler.

DFX mekanizması PSEUDONULL kullanımını kullanır. Daha fazla bilgi için bkz . CDaoFieldExchange::m_nOperation.

Not

Bu üye işlevini yalnızca Düzenle veya EkleYeni olarak adlandırdıktan sonra çağır.

İşlevin ilk bağımsız değişkeni için NULL kullanıldığında işlevi içindeki param alanlarına değil yalnızca outputColumn alanlara CDaoFieldExchangeuygulanır. Örneğin, arama

SetFieldNull(NULL);

yalnızca outputColumn alanları NULL olarak ayarlar; param alanları etkilenmez.

CDaoRecordset::SetFieldValue

Bir alanın değerini sıralı konuma göre veya dizenin değerini değiştirerek ayarlamak için bu üye işlevini çağırın.

virtual void SetFieldValue(
    LPCTSTR lpszName,
    const COleVariant& varValue);

virtual void SetFieldValue(
    int nIndex,
    const COleVariant& varValue);

void SetFieldValue(
    LPCTSTR lpszName,
    LPCTSTR lpszValue);

void SetFieldValue(
    int nIndex,
    LPCTSTR lpszValue);

Parametreler

lpszName
Bir alanın adını içeren bir dize işaretçisi.

varValue
Alanın içeriğinin değerini içeren bir COleVariant nesnesine başvuru.

nIndex
Kayıt kümesinin Fields koleksiyonundaki (sıfır tabanlı) alanın sıralı konumunu temsil eden bir tamsayı.

lpszValue
Alan içeriğinin değerini içeren bir dize işaretçisi.

Açıklamalar

DoFieldExchange mekanizmasını kullanarak sütunları statik olarak bağlamak yerine çalışma zamanında alanları dinamik olarak bağlamak için ve GetFieldValue kullanınSetFieldValue.

UNICODE kayıt kümesi oluşturmuyorsanız, parametre içermeyen COleVariant bir biçimi SetFieldValue kullanmanız veya nesnenin COleVariant açıkça ANSI olarak bildirilmesi gerektiğini unutmayın. Bu işlem, vtSrc ayarı (ANSI) olan oluşturucunun COleVariant::COleVariant( lpszSrc , vtSrc ) formu kullanılarak veya vtSrc olarak ayarlanmış VT_BSTRT VT_BSTRTSetString( lpszSrc , vtSrc ) işlevi kullanılarak COleVariant yapılabilir.

İlgili bilgiler için DAO Yardımı'ndaki "Alan Nesnesi" ve "Değer Özelliği" konularına bakın.

CDaoRecordset::SetFieldValueNull

Alanı Null değerine ayarlamak için bu üye işlevini çağırın.

void SetFieldValueNull(int nIndex);
void SetFieldValueNull(LPCTSTR lpszName);

Parametreler

nIndex
Sıfır tabanlı dizine göre arama için kayıt kümesindeki alanın dizini.

lpszName
Ada göre arama için kayıt kümesindeki alanın adı.

Açıklamalar

C++ NULL, veritabanı terminolojisinde "değere sahip değil" anlamına gelen Null ile aynı değildir.

İlgili bilgiler için DAO Yardımı'ndaki "Alan Nesnesi" ve "Değer Özelliği" konularına bakın.

CDaoRecordset::SetLockingMode

Kayıt kümesi için kilitleme türünü ayarlamak için bu üye işlevini çağırın.

void SetLockingMode(BOOL bPessimistic);

Parametreler

bPessimistic
Kilitleme türünü gösteren bayrak.

Açıklamalar

Kötümser kilitleme etkin olduğunda, üye işlevini çağırır çağırmaz Edit düzenlemekte olduğunuz kaydı içeren 2K sayfası kilitlenir. veya üye işlevini veya Taşı veya Close Bul işlemlerinden herhangi birini çağırdığınızda Update sayfanın kilidi açılır.

İyimser kilitleme etkin olduğunda, kaydı içeren 2K sayfası yalnızca kayıt üye işleviyle Update güncelleştirilirken kilitlenir.

Bir sayfa kilitliyse, başka hiçbir kullanıcı aynı sayfadaki kayıtları düzenleyemez. Çağrısı SetLockingMode yaparsanız ve sıfır olmayan bir değer geçirirseniz ve başka bir kullanıcı sayfayı zaten kilitlemişse, çağırdığınızda Editbir özel durum oluşturulur. Diğer kullanıcılar kilitli sayfalardan verileri okuyabilir.

Sayfa başka bir kullanıcı tarafından kilitliyken sıfır değerle ve daha sonra çağrıyla çağırırsanız SetLockingMode Update , bir özel durum oluşur. Başka bir kullanıcı tarafından kaydınızda yapılan değişiklikleri görmek (ve değişikliklerinizi kaybetmek) için üye işlevini geçerli kaydın yer işareti değeriyle çağırın SetBookmark .

ODBC veri kaynaklarıyla çalışırken kilitleme modu her zaman iyimserdir.

CDaoRecordset::SetParamValue

Çalışma zamanında kayıt kümesindeki bir parametrenin değerini ayarlamak için bu üye işlevini çağırın.

virtual void SetParamValue(
    int nIndex,
    const COleVariant& varValue);

virtual void SetParamValue(
    LPCTSTR lpszName,
    const COleVariant& varValue);

Parametreler

nIndex
Querydef'in Parameters koleksiyonundaki parametrenin sayısal konumu.

var
Ayarlanacağı değer; bkz. Açıklamalar.

lpszName
Değerini ayarlamak istediğiniz parametrenin adı.

Açıklamalar

parametresi, kayıt kümesinin SQL dizesinin bir parçası olarak zaten oluşturulmuş olmalıdır. Parametreye ada veya koleksiyondaki dizin konumuna göre erişebilirsiniz.

Nesne olarak COleVariant ayarlanacağı değeri belirtin. nesnenizde COleVariant istenen değeri ve türü ayarlama hakkında bilgi için bkz. COleVariant sınıfı. UNICODE kayıt kümesi oluşturmuyorsanız nesnenin COleVariant açıkça ANSI olarak bildirilmesi gerektiğini unutmayın. Bu işlem, vtSrc ayarı (ANSI) olan oluşturucunun COleVariant::COleVariant( lpszSrc , vtSrc ) formu kullanılarak veya vtSrc olarak ayarlanmış VT_BSTRT VT_BSTRTSetString( lpszSrc , vtSrc ) işlevi kullanılarak COleVariant yapılabilir.

CDaoRecordset::SetParamValueNull

Parametresini Null değerine ayarlamak için bu üye işlevini çağırın.

void SetParamValueNull(int nIndex);
void SetParamValueNull(LPCTSTR lpszName);

Parametreler

nIndex
Sıfır tabanlı dizine göre arama için kayıt kümesindeki alanın dizini.

lpszName
Ada göre arama için kayıt kümesindeki alanın adı.

Açıklamalar

C++ NULL, veritabanı terminolojisinde "değere sahip değil" anlamına gelen Null ile aynı değildir.

CDaoRecordset::SetPercentPosition

Kayıt kümesi nesnesindeki geçerli kaydın yaklaşık konumunu kayıt kümesindeki kayıtların yüzdesine göre değiştiren bir değer ayarlamak için bu üye işlevini çağırın.

void SetPercentPosition(float fPosition);

Parametreler

fPosition
0 ile 100 arasında bir sayı.

Açıklamalar

Dynaset türü veya anlık görüntü türü kayıt kümesiyle çalışırken, çağırmadan SetPercentPositionönce son kayda geçerek kayıt kümesini doldurun. Kayıt kümesini tam olarak doldurmadan önce çağırırsanız SetPercentPosition , taşıma miktarı GetRecordCount değeriyle gösterildiği gibi erişilen kayıt sayısına göredir. öğesini çağırarak MoveLastson kayda geçebilirsiniz.

çağrısı SetPercentPositionyaptıktan sonra, bu değere karşılık gelen yaklaşık konumdaki kayıt geçerli olur.

Not

Geçerli kaydı kayıt kümesindeki belirli bir kayda taşımak için çağrılması SetPercentPosition önerilmez. Bunun yerine SetBookmark üye işlevini çağırın.

İlgili bilgiler için DAO Yardımı'ndaki "PercentPosition Özelliği" konusuna bakın.

CDaoRecordset::Update

veya Edit üye işlevine yapılan çağrıdan sonra bu üye işlevini çağırınAddNew.

virtual void Update();

Açıklamalar

Bu çağrı, veya Edit işlemini tamamlamak AddNew için gereklidir.

Edit Hem hem de AddNew eklenen veya düzenlenen verilerin veri kaynağına kaydedilecek şekilde yerleştirildiği bir düzenleme arabelleği hazırlayın. Update verileri kaydeder. Yalnızca değiştirilmiş olarak işaretlenen veya algılanan alanlar güncelleştirilir.

Veri kaynağı işlemleri destekliyorsa, çağrıyı Update (ve buna karşılık gelen AddNew veya Edit çağrısını) bir işlemin parçası yapabilirsiniz.

Dikkat

veya çağrısı yapmadan ararsanız Update AddNew Edit, Update bir CDaoExceptionoluşturur. veya öğesini çağırırsanızAddNew, MoveNext öğesini çağırmadan önce veya kayıt kümesini ya da veri kaynağı bağlantısını kapatmadan önce çağırmalısınızUpdate.Edit Aksi takdirde, değişiklikleriniz bildirimde bulunmadan kaybolur.

Kayıt kümesi nesnesi çok kullanıcılı bir ortamda kötümser bir şekilde kilitlendiğinde, kayıt güncelleştirme tamamlanana kadar kullanılan zamandan Edit itibaren kilitli kalır. Kayıt kümesi iyimser bir şekilde kilitlenmişse, kayıt kilitlenir ve veritabanında güncelleştirilmeden hemen önce önceden düzenlenmiş kayıtla karşılaştırılır. çağırdığınızdan EditUpdate beri kayıt değiştiyse işlem başarısız olur ve MFC bir özel durum oluşturur. ile SetLockingModekilitleme modunu değiştirebilirsiniz.

Not

İyimser kilitleme her zaman ODBC ve yüklenebilir ISAM gibi dış veritabanı biçimlerinde kullanılır.

İlgili bilgiler için DAO Yardımı'ndaki "AddNew Metodu", "CancelUpdate Yöntemi", "Delete Yöntemi", "LastModified Özelliği", "Update Yöntemi" ve "EditMode Özelliği" konularına bakın.

Ayrıca bkz.

CObject Sınıfı
Hiyerarşi Grafiği
CDaoTableDef Sınıfı
CDaoWorkspace Sınıfı
CDaoDatabase Sınıfı
CDaoQueryDef Sınıfı