CDatabase:: BeginTrans

BOOL BeginTrans ( );

Valor de retorno

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

Observações

Chame essa função de membro para iniciar uma transação com a fonte de dados conectada. Uma transação consiste em um ou mais chamadas para AddNew, Editar, Excluire Atualizar funções de membro de um objeto CRecordset . Antes de iniciar uma transação, o objeto CDatabase deve já ter sido conectado à fonte de dados, chamando a função de membro OpenEx ou Abrir . Para terminar a transação, chame CommitTrans para aceitar todas as alterações para o Origem de dados (e realizá-los) ou chamar Rollback para anular a transação inteira. Chamar BeginTrans depois de abrir quaisquer conjuntos de registros envolvidos na transação e como perto para o real atualize operações possível.

Cuidado   Dependendo do seu driver ODBC, abrindo um conjunto de registros antes de chamar BeginTrans pode causar problemas ao chamar Rollback. Você deve verificar o driver específico que você está usando. Por exemplo, ao usar o driver do Microsoft Acessar incluído no Microsoft ODBC Desktop Driver Pack 3.0, você deve conta para requisito do mecanismo de banco de dados Jet que você não deve iniciar uma transação em qualquer banco de dados que tem um cursor aberto. As classes de banco de dados MFC, um cursor Abrir significa um Abrir objeto CRecordset . Para obter mais informações, consulte técnico Anotação 68.

BeginTrans também pode bloquear registros de dados no servidor, dependendo a simultaneidade solicitada e os recursos de fonte de dados. Para obter informações sobre dados de bloqueio, consulte o artigo Recordset: bloqueio de registros (ODBC) no Guia do programador do Visual C++.

As operações definidas pelo usuário são explicadas no artigo Transações (ODBC) no Guia do programador do Visual C++.

BeginTrans estabelece o estado a que a seqüência de operações pode ser revertida (invertido). Para estabelecer um novo Estado para reversões, confirmar qualquer transação atual e, em seguida, chamar BeginTrans novamente.

! AVISO   Chamar BeginTrans novamente sem chamar CommitTrans ou Rollback é um erro.

Chame a função de membro de CanTransact para determinar se o driver oferece suporte a transações para um determinado banco de dados. Você também deve chamar GetCursorCommitBehavior e GetCursorRollbackBehavior para determinar o suporte para preservação de cursor.

Para obter mais informações sobre transações, consulte o artigo Transações (ODBC) no Guia do programador do Visual C++.

Exemplo

Consulte o artigo transação: executar uma transação em um conjunto de registros (ODBC) no Guia do programador do Visual C++.

Visão geral de CDatabaseMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CDatabase:: CommitTrans, CDatabase::Rollback, CRecordset::CanTransact

Index