CDaoRecordset::Edit

void wirtualnego edycji ();
rzut (CDaoException, CMemoryException);

Uwagi

Nazwać tę funkcję Państwa, aby zezwolić na zmiany w bieżącym rekordzie.

Po należy wywołać funkcję Państwa edytować , zmiany dokonane w bieżącym rekordzie pola są kopiowane do bufora kopiowania. Po dokonaj odpowiednich zmian do rekordu wymagają aktualizacji , aby zapisać zmiany. Edytuj zapisuje wartości w zestawie rekordów danych członków. Jeśli wywołanie, edytować, zmiany następnie ponownie wywołać edytować wartości rekordu są przywracane były przed pierwszym wywołaniem edycji.

Przestroga   Jeśli edytować rejestr, a następnie wykonuje żadnej operacji, który przejdzie do innego rekordu bez pierwszego wywołania aktualizacji, zmiany zostaną utracone bez ostrzeżenia. Ponadto jeśli zamkniesz zestawu rekordów lub bazie danych nadrzędnej, edytowany rekord jest odrzucany bez ostrzeżenia.

W niektórych przypadkach może chcesz zaktualizować kolumny dzięki Null (zawierających dane). Aby to zrobić, wywołanie SetFieldNull z parametrem TRUE aby oznaczyć pole Null; powoduje to także kolumny mają być aktualizowane. Jeśli chcesz, aby pola są zapisywane w źródle danych, nawet jeśli jego wartość nie zmieniła się, wywołania SetFieldDirty z parametrem true. Ta procedura działa, nawet gdyby wartość Null pole.

Znaki ramy zmianie pola danych członków do zapewnienia, że zostaną one zapisane do rekordu w źródle danych przez mechanizm wymiany (DFX) w polu rekordu DAO. Zmiana wartości pola ogólnie ustawia pole dirty automatycznie, tak rzadko będzie musiał dzwonić SetFieldDirty samodzielnie, ale czasami może wystąpić potrzeba zapewnienia, że kolumny będzie się wyraźnie zaktualizowane lub wstawione niezależnie od tego jakie wartość w polu Członek danych. Mechanizm DFX wykorzystuje również użycie PSEUDO NULL. Aby uzyskać więcej informacji zobacz CDaoFieldExchange::m_nOperation.

Jeśli mechanizm podwójne buforowanie nie jest używany, następnie zmiana wartości tego pola nie automatycznie Ustaw pole jako zanieczyszczony. W tym przypadku będzie konieczne do zestawu wyraźnie określone w polu zanieczyszczony. Flaga zawarte w formantach m_bCheckCacheForDirtyFields to pole automatyczne sprawdzanie.

W przypadku obiektu recordset pessimistically jest zablokowana w orodowisku wielodostępnym, używany jest rekord pozostaje zablokowana od czasu edycji momentu zakończenia aktualizacji. Jeżeli zestaw rekordów według optymistycznych jest zablokowany, rekord jest zablokowany i wzmacniania zdolności, w porównaniu z sprzed edycji rekordu tuż przed jest aktualizowana w bazie danych. Jeśli rekord został zmieniony, ponieważ zostanie wywołana, edytować, nie udaje się operacja Update i MFC zgłasza wyjątek. Aby zmienić tryb blokowania z SetLockingMode.

Uwaga   Blokowania optymistycznego połączone jest zawsze używany w formatach zewnętrznej bazy danych, takich jak ODBC i instalowalne ISAM.

Bieżący rekord pozostaje bieżącym po wywołaniu, edytować. Aby zadzwonić, edytować, musi być bieżącego rekordu. Jeśli nie istnieje żaden bieżący rekord lub zestaw rekordów nie odnosi się do otwartej tabeli lub obiektu recordset dynamicznego, wystąpi wyjątek. Wywołanie edycji powoduje CDaoException , zostać wygenerowany w następujących warunkach:

Jeśli źródło danych obsługuje transakcje, można wprowadzać, edytować wywołania częścią transakcji. Należy zauważyć, że powinna wywołać CDaoWorkspace::BeginTrans przed wywołaniem, edytować i po otwarciu zestawu rekordów. Należy również zauważyć, że wywołanie CDaoWorkspace::CommitTrans nie jest substytutem do wywoływania aktualizacji , aby zakończyć operację edycji . Aby uzyskać więcej informacji o transakcjach zobacz klasy CDaoWorkspace.

Aby uzyskać więcej informacji na temat aktualizowania danych, zobacz artykuł zestawu rekordów DAO: zestaw rekordów operacji w Visual C++ Programmer's Guide. Aby uzyskać pokrewne informacje zobacz tematy „metoda AddNew","Edycji metodą","Usuń metodę","Metody Update"i"Aktualizowalna właściwość"w pomocy programu DAO.

Omówie&nie CDaoRecordset |nbsp; Klasa członków | Wykres hierarchii

Zobacz teżnbsp;CDaoRecordset::Add&New, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update

Index