Aracılığıyla paylaş


CDaoRecordset::AddNew

Tablo türü veya kesit türü bir recordset'e yeni bir kayıt eklemek için bu üye işlevini çağırın.

virtual void AddNew( );

Notlar

Kaydın başlangıçta boş alanlardır.(Aynı şey değildir ve Veritabanı terminolojisinde "hiçbir değere sahip olmak" anlamına Null null C++'ta.) İşlemi tamamlamak için çağırmanız gerekir güncelleştirme üye işlevi.Güncelleştirme veri kaynağına yaptığınız değişiklikleri kaydeder.

Uyarı notuUyarı

Bir kaydı düzenler ve arama olmadan başka bir kayda gidin güncelleştirme, herhangi bir uyarı yapılmadan değişiklikleriniz kaybolur.

Size bir kayıt dinamik küme türünde recordset'e çağırarak eklemek isterseniz AddNew, kaydı recordset içinde görünür ve burada Bunun için görünür hale gelir yeni temel tabloda bulunan CDaoRecordset nesneler.

Yeni kaydın konumu recordset'in türüne bağlıdır:

  • Bir kesit türü recordset burada yeni kayıt eklendiğinde, garanti edilmez.Bu davranış, performans ve tutarlılık nedenlerle Microsoft Jet 3.0 ile değiştirildi.Amacınız, yeni eklenen kaydı geçerli kayıt yapmak için ise, son değiştirilen kaydı yer alın ve bu yer işaretine gitme:

    rs.SetBookmark(rs.GetLastModifiedBookmark());
    
  • Dizin belirtilen bir tablo türü recordset nesnesinde, kendilerine uygun bir yerde sıralama düzeninde kayıtlar döndürülür.Dizin yok belirtilirse recordset'in sonuna yeni kayıtlar döndürülür.

Siz kullanmadan önce geçerli kaydı AddNew geçerli olmaya devam eder.Yer imleri, çağrı kayıt kümesini destekler ve yeni kaydı geçerli kayıt yapmak istiyorsanız SetBookmark dao Kayıt kümesi nesnesini LastModified özelliği ayarı tarafından belirlenen yer.Böylece, sayaç (otomatik artış) alanlara eklenen kayıt değerini belirlemek için yararlıdır.Daha fazla bilgi için bkz: GetLastModifiedBookmark.

Veritabanı hareketleri destekleyip desteklemediğini olun sizin AddNew çağrısı bir hareketin parçası.Sınıf hareketleri hakkında daha fazla bilgi için bkz: CDaoWorkspace.Çağırması gerekir Not CDaoWorkspace::BeginTrans önce arama AddNew.

Çağrı geçersiz AddNew bir recordset için olan açık üye işlev çağrılmadı.A CDaoException çağırırsanız, atılan AddNew için bir kayıt eklenemiyor.Çağırarak recordset güncelleştirilebilir olup olmadığını belirlemek CanAppend.

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.

[!NOT]

Kayıtları çift arabelleğe alınmış olması durumunda (diğer bir deyişle, otomatik alan denetleme, çağırma etkin ise) CancelUpdate üye değişkenlerine vardı önce değerlerini geri yükler AddNew veya düzenleme çağrıldı.

İlgili bilgiler için "AddNew yöntemi", "CancelUpdate yöntemi", "LastModified özelliğini" ve dao Yardımı'nda "EditMode ö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::CanUpdate

CDaoRecordset::CancelUpdate

CDaoRecordset::Delete

CDaoRecordset::Edit

CDaoRecordset::Update

CDaoRecordset::CanTransact