Aracılığıyla paylaş


CDaoRecordset::Edit

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

virtual void Edit( );

Notlar

Çağırdığınız bir kez düzenleme üye işlevi, geçerli kaydın alanlarında yapılan değişiklikler kopyalama arabelleği kopyalanır.Kayıt için istenen değişiklikleri yaptıktan sonra çağrı güncelleştirme yaptığınız değişiklikleri kaydetmek için.Düzen kayıt kümesinin veri üyeleri değerleri kaydeder.Çağırırsanız, düzenleme, sonra çağrı değişiklik düzenlemek kayıt değerlerini ne ilk önce olmadıkları için tekrar geri düzenleme çağrı.

Uyarı notuUyarı

Bir kaydı düzenler ve ilk arama olmadan başka bir kayda taşınan herhangi bir işlem gerçekleştirmek güncelleştirme, herhangi bir uyarı yapılmadan değişiklikleriniz kaybolur.Buna ek olarak, Recordset'i veya üst veritabanı kapatırsanız, düzenlediğiniz kayıt uyarı yapılmadan atılır.

Bazı durumlarda, bir sütun Null (veri içeren) yaparak güncelleştirmek isteyebilirsiniz.Bunu yapmak için arama SetFieldNull bir parametresi ile doğru Null; alanı işaretlemek için Bu sütunu güncelleştirilecek olur.Bir alanın değerini değişmemiş olsa bile veri kaynağına yazılması, çağrı istiyorsanız SetFieldDirty bir parametresi ile doğru.Bu alanın değeri Null vardı bile çalışır.

Framework işaretleri bunlar veri kaynağı kaydı dao Kayıt alanını exchange (dfx) mekanizması tarafından yazılacağı emin olmak için alan veri üyeleri değişti.Genellikle bir alanın değerini değiştirerek ayarlar alan kirli otomatik olarak ender çağırmanız gerekecek şekilde SetFieldDirty kendinizi, ancak bazen isteyebilirsiniz sütunları açıkça güncelleştirilmesi veya hangi değeri alan veri üyesi olmasına bakılmaksızın eklenmiş olduğunu emin olun.dfx mekanizması kullanımını da kullanan SÖZDE null.Daha fazla bilgi için bkz: CDaoFieldExchange::m_nOperation.

Çift arabelleğe alma mekanizması değil kullanılıyorsa, alan değerinin değiştirilmesi otomatik olarak alan kirli olarak ayarlamaz.Bu durumda, açıkça alan kirli için gerekli olacaktır.İçerdiği bayrak m_bCheckCacheForDirtyFields denetimleri otomatik alan denetleniyor.

Recordset nesnesi çok kullanıcılı bir ortamda zor olarak kilitlendiğinde, kaydın kilitli kalır düzenleme güncelleştirme tamamlanana kadar kullanılır.Kayıt kümesi İyimser bir bakışla kilitliyse, kaydın kilitli ve yalnızca veritabanında güncelleştirilmeden önce önceden düzenlenmiş kayıtla karşılaştırılır.Aradığınız kaydı değişmişse düzenleme, güncelleştirme işlemi başarısız olur ve mfc bir istisna.Kilitleme modu ile değiştirebilirsiniz SetLockingMode.

[!NOT]

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

Geçerli kayıt, çağrısından sonra geçerli kalır düzenleme.Aranacak düzenleme, geçerli kaydı olması gerekir.Geçerli kayıt yok ise veya bir tablo türündeki veya kesit türü bir recordset nesnesiyle recordset başvuru yapmıyorsa, bir özel durum oluşur.Arama düzenleme neden olan bir CDaoException aşağıdaki koşullar altında durum için:

  • Geçerli bir kayıt yoktur.

  • Database veya recordset salt okunur durumdadır.

  • Hiçbir kayıtta güncellenebilir alanlardır.

  • Database veya recordset başka bir kullanıcı tarafından özel kullanım için açıldı.

  • Başka bir Kullanıcı kaydınızın içeren sayfayı kilitlemiş.

Veri kaynağı hareketleri destekliyorsa, yapabileceğiniz düzenleme çağrısı bir hareketin parçası.Çağırması gerekir Not CDaoWorkspace::BeginTrans önce arama düzenleme ve Recordset'i açtıktan sonra.Ayrıca, arama dikkat edin CDaoWorkspace::CommitTrans aramalar için bir alternatif değildir güncelleştirme tamamlamak için düzenleme işlem.Sınıf hareketleri hakkında daha fazla bilgi için bkz: CDaoWorkspace.

İlgili bilgiler için "AddNew yöntemi", "Edit yöntemi", "Delete yöntemi", "Update yöntemi" ve dao Yardımı'nda "Updatable özelliği" konularına bakın.

Gereksinimler

Başlık: afxdao.h

Ayrıca bkz.

Başvuru

CDaoRecordset sınıfı

Hiyerarşi grafik

CDaoRecordset::AddNew

CDaoRecordset::CancelUpdate

CDaoRecordset::CanTransact

CDaoRecordset::Delete

CDaoRecordset::Update