Compartilhar via


CDatabase::BeginTrans

telefonar Essa função de membro para iniciar uma transação com a fonte de dados conectada.

BOOL BeginTrans( );

Valor de retorno

Diferente de zero se a telefonar foi bem-sucedida e as alterações são confirmadas manualmente apenas; caso contrário, 0.

Comentários

Uma transação consiste em uma ou mais chamadas para o AddNew, edição, Excluir, and Atualização funções de membro de um CRecordset objeto. Antes de iniciar uma transação, a CDatabase objeto deve já ter sido conectado à fonte de dados chamando seu OpenEx ou em abertofunção de membro .Para finalizar a transação telefonar CommitTrans para aceitar todas as alterações na fonte de dados (e realize-las) ou telefonar Reversão para anular a transação inteira. De telefonarBeginTrans depois de em em aberto quaisquer conjuntos de registros envolvidos na transação e sistema autônomo perto para o real atualize operações possível.

Cuidado:

Dependendo do seu driver de ODBC, abrindo um conjunto de registros antes de ligar BeginTrans pode causar problemas durante a chamada Reversão.Você deve verificar o driver específico que você está usando.Por exemplo, usando o driver do Microsoft acesso incluído no Microsoft ODBC área de trabalho Driver empacotar 3.0, você deve considerar exigência do mecanismo de banco de dados do Jet que você não deve iniciar uma transação em qualquer banco de dados que possui um cursor em aberto.Em classes de banco de dados MFC, um cursor em aberto significa um em aberto CRecordset objeto. Para obter mais informações, consulte Nota técnica 68.

BeginTrans também podem bloquear registros de dados no servidor, dependendo a simultaneidade solicitada e os recursos da fonte de dados.Para obter informações sobre bloqueio de dados, consulte o artigo conjunto de registros: Bloqueio de registros (ODBC).

Transações definida pelo usuário são explicadas no artigo Transação (ODBC).

BeginTrans estabelece o estado para o qual a sequência das transações pode ser revertida (revertidas).Para estabelecer um novo estado para reversões, confirmar qualquer transação corrente, em seguida, telefonar BeginTrans novamente.

Cuidado:

Chamada BeginTrans novamente sem chamar CommitTrans or Reversão é um erro.

telefonar the CanTransactfunção de membro para determinar se o driver oferece suporte a transações para um banco de dados especificado.Você também deve chamar GetCursorCommitBehavior and GetCursorRollbackBehavior para determinar se há suporte para a preservação do cursor.

Para obter mais informações sobre transações, consulte o artigo Transação (ODBC).

Exemplo

Consulte o artigo Transação: Executando uma transação em um conjunto de registros (ODBC).

Requisitos

Cabeçalho: afxdb.h

Consulte também

Referência

Classe CDatabase

Gráfico de hierarquia

CDatabase::CommitTrans

CDatabase::reversão

CRecordset::CanTransact

Outros recursos

CDatabase membros