Compartilhar via


Usar AddNew em modos de lote e imediatos

O comportamento do método AddNew depende do modo de atualização do objeto Recordset e se você passa os argumentos FieldList e Values.

No modo de atualização imediata (no qual o provedor grava alterações na fonte de dados subjacente após a chamar do método Update), a chamada do método AddNew sem argumentos define a propriedade EditMode como adEditAdd. O provedor armazena em cache qualquer valor de campo alterado localmente. A chamada do método Update posta o novo registro no banco de dados e redefine a propriedade EditMode como adEditNone. Se você passar os argumentos FieldList e Values, o ADO postará imediatamente o novo registro no banco de dados (nenhuma chamada Update é necessária); o valor da propriedade EditMode não é alterado (adEditNone).

No modo de atualização em lote, a chamada do método AddNew sem argumentos define a propriedade EditMode como adEditAdd. O provedor armazena em cache qualquer alteração de valor de campo localmente. A chamada do método Update adiciona o novo registro ao Recordset atual e redefine a propriedade EditMode como adEditNone, mas o provedor não posta as alterações no banco de dados subjacente até que você chame o método UpdateBatch. Se você passar os argumentos FieldList e Values, o ADO enviará o novo registro ao provedor para armazenamento em um cache; você deve chamar o método UpdateBatch para postar o novo registro no banco de dados subjacente. Para obter mais informações sobre Update e UpdateBatch, consulte Como atualizar e persistir dados.