Aracılığıyla paylaş


CRecordset::Edit

Geçerli kayıttaki değişiklikler izin verir.

virtual void Edit( );

Notlar

Size çağrısından sonra düzenleme, değerleri doğrudan sıfırlayarak alan veri üyeleri değiştirebilir.Sonradan aradığınızda, işlem tamamlanmadan güncelleştirme üye işlevi veri kaynağı üzerinde yaptığınız değişiklikleri kaydedin.

[!NOT]

Bulk satır getiriliyor uyguladıysanız çağrılamıyor düzenleme.Bu başarısız bir onaylama işlemi hatasına neden olur.Ancak sınıf CRecordset bir mekanizmaya sahip toplu veri satırlarını güncelleştirmek için kendi fonksiyonlarınızı odbc API işlevini kullanarak yazabilirsiniz SQLSetPos.Makaleyi satır toplu alma hakkında daha fazla bilgi için bkz: Recordset: getiriliyor kayıtları toplu (odbc).

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

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.

Veri kaynağı hareketleri destekliyorsa, yapabileceğiniz düzenleme çağrısı bir hareketin parçası.Çağırması gerekir Not CDatabase::BeginTrans önce arama düzenleme ve Recordset'i açtıktan sonra.Ayrıca, arama dikkat edin CDatabase::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: CDatabase.

Geçerli kilitleme modu bağlı olarak güncelleştirilen kayıt tarafından kilitlenmiş olabilir düzenleme çağırdığınız kadar güncelleştirme ya da başka bir kayda gidin veya yalnızca sırasında kilitlenebilir düzenleme çağırın.Kilitleme modu ile değiştirebilirsiniz SetLockingMode.

Arama önce yeni bir kayda gidin, geçerli kaydın önceki değerini geri güncelleştirme.A CDBException çağırırsanız, atılan düzenleme bir recordset güncelleştirilemez veya geçerli kayıt olup olmadığını.

Daha fazla bilgi için bkz: makaleleri Hareket (odbc) ve Recordset: kilitleme kayıtları (odbc).

Özel Durumlar

Bu yöntem türü istisnalar atabilirsiniz CDBException * ve CMemoryException*.

Örnek

// To edit a record, first set up the edit buffer
rsCustSet.Edit();

// Then edit field data members for the record
rsCustSet.m_BillingID = 2795;
rsCustSet.m_ContactFirstName = _T("Jones Mfg");

// Finally, complete the operation
if(!rsCustSet.Update())
{
    // Handle the failure to update
    AfxMessageBox(_T("Couldn't update record!"));
}

Gereksinimler

Başlık: afxdb.h

Ayrıca bkz.

Başvuru

CRecordset sınıfı

Hiyerarşi grafik

CRecordset::Update

CRecordset::AddNew

CRecordset::Delete

CRecordset::SetFieldDirty

CRecordset::SetFieldNull

CRecordset::CanUpdate

CRecordset::CanTransact

CRecordset::SetLockingMode