sanal void Sil ( );
atmak ( CDBException );
Açıklamalar
Geçerli kaydı silmek için bu üye işlevini çağırın. Sonra başarılı silme, kayıt kümesinin alan veri üyeleri Null değerine ayarlanır ve silinmiş kayıt dışına taşımak için açıkça hareket işlevlerinden birini görmelisiniz. Bir kez silinmiş kayıt dışına taşımak, geri dönmek mümkün değildir. Veri kaynağı hareketleri destekliyorsa, bir hareketin parçası aramak silme yapabilirsiniz. Daha fazla bilgi için bkz: yazı Hareket (odbc) Visual c++ Programcı Kılavuzu.
&Notnbsp; Satır toplu alma uyguladıysanız, Deleteçağrılamaz. Bu başarısız bir iddianın içinde sonuçlanır. Sınıf CRecordset toplu satır verileri güncelleştirmek için bir mekanizma sağlamaz, ancak SQLSetPosodbc API işlevini kullanarak kendi işlevlerinizi yazabilir. Bunu nasıl örneği için bkz: örnek dbfetch. Satır toplu alma hakkında daha fazla bilgi için bkz: yazı Recordset: getiriliyor kayıtları toplu (odbc) Visual c++ Programcı Kılavuzu.
Dikkat Kayıt kümesinin güncelleştirilebilir olması gerekir ve olmalıdır geçerli kaydı Recordset'teki geçerli silmekgörüşme sırasında; Aksi takdirde hata oluşur. Bir kaydı silmek, ancak eğer Sil yeniden aramadan önce yeni bir kayda ilerleyin değil, örneğin, silmek CDBException atar.
Aksine AddNew ve düzenleme, silme çağrısı güncelleştirmeçağrısıyla takip edemiyorum. Üyeler kalan alan verilerini silme çağrısı başarısız olursa, değişmeden.
Örnek
Bu örnek, bir işlev çerçevede oluşturulan bir kayıt gösterir. Örnek varsayar m_dbCust , CDatabase veri kaynağına bağlı türündeki üye değişken.
/ / Türetilmiş bir CRecordset nesnesi oluşturma
CCustSet rsCustSet (amp; m_dbCust);
rsCustSet.Open ();
If ((rsCustSet.IsEOF) ||! rsCustSet.CanUpdate (') ||
! rsCustSet.CanTransact ())
return;
Eğer (! m_dbCust.BeginTrans ())
{
/ / Hata işlemek için bir şeyler yapmak
}
başka
{
/ / Belki de yeni bir kayda gidin...
/ / Delete geçerli kaydı
rsCustSet.Delete ();
// ...
/ / Basketbol için bu işlem komutları
(< kullanıcı hareket doğrular Eğer >)
m_dbCust.CommitTrans ();
else / / kullanıcı değiştirildi mind
m_dbCust.ROLLBACK ();
}
//
CRecordset ge&nel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi
Ayrıca bkz: Database::BeginTrans, CDatabase::CommitTrans, CDatabase::Rollback, CDBException