CDaoDatabase::Execute
Chamar essa função de membro para executar uma ação consulta ou para executar uma instrução SQL no banco de dados.
void Execute(
LPCTSTR lpszSQL,
int nOptions = dbFailOnError
);
Parâmetros
lpszSQL
Ponteiro para uma cadeia de caracteres NULL- finalizada que contém um comando SQL válida executar.nOptions
Um número inteiro que especifica opções em relação à integridade de consulta.Você pode usar OU bit a bits (o operador**|**) para combinar qualquer uma das seguintes constantes (fornecidas a combinação faz sentido — por exemplo, você não combinaria dbInconsistent com dbConsistent):dbDenyWrite nega a permissão de gravação para outros usuários.
Atualizações inconsistentes ( padrão) dedbInconsistent .
Atualizações consistentes dedbConsistent .
Passagem dedbSQLPassThrough SQL.Faz com que a instrução SQL a ser passada a uma fonte de dados ODBC para processamento.
dbFailOnError reverte atualizações se ocorrer um erro.
dbSeeChanges gera um erro em tempo de execução se outro usuário estiver modificando dados que você está editando.
Observação |
---|
Se dbInconsistent e dbConsistent são incluídos ou se nenhum for incluída, o resultado é o padrão.Para obter uma explicação de constantes, consulte o tópico “executar o método” na ajuda de DAO. |
Comentários
Executar funciona somente para consultas ação ou consultas passe SQL que retornam resultados.Não funciona para consultas select, que retorna registros.
Para uma definição e uma ação informações sobre consultas, consulte os tópicos “consulta ação” e “executar o método” na ajuda de DAO.
Dica |
---|
Dado uma instrução SQL sintaticamente correta e as permissões adequadas, a função de membro de Executar não falhará se não uma única linha pode ser alterado ou excluído.Portanto, sempre use a opção de dbFailOnError ao usar a função de membro de Executar executar uma consulta de atualização ou delete.Esta opção faz com que o MFC lança uma exceção de tipo CDaoException e reverter as alterações com êxito se qualquer um dos registros afetados são bloqueados e não podem ser atualizados ou excluídos.Observe que você sempre pode chamar GetRecordsAffected para verificar quantos registros foram afetados. |
Chame a função de membro de GetRecordsAffected do objeto de banco de dados para determinar o número de registros afetados pela chamada ao mais recente de Executar .Por exemplo, GetRecordsAffected retorna informações sobre o número de registros excluídos ou inseridos, atualizados, ao executar uma consulta ação.A contagem retornada não refletirá alterações em tabelas relacionadas quando a cascata atualiza ou exclui é aplicado.
Executar não retorna um conjunto de registros.Usando Executar em uma consulta que selecione as causas MFC de registros lançar uma exceção de tipo CDaoException.(Não há nenhuma função de membro de ExecuteSQL análogo a CDatabase::ExecuteSQL.)
Requisitos
Cabeçalho: afxdao.h