Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico explica:
Quando usar chamadas SQL diretas.
Observação
Essas informações se aplicam às classes ODBC do MFC. Se você estiver trabalhando com as classes MFC DAO, consulte o tópico "Comparação do Microsoft Jet Database Engine SQL e ANSI SQL" na Ajuda do DAO.
Quando chamar o SQL diretamente
Para criar novas tabelas, descartar (excluir) tabelas, alterar tabelas existentes, criar índices e executar outras funções SQL que alteram o esquema ODBC (Fonte de Dados ), você deve emitir uma instrução SQL diretamente para a fonte de dados usando DDL (Database Definition Language). Ao usar um assistente para criar um conjunto de registros para uma tabela (em tempo de design), você pode escolher quais colunas da tabela representar no conjunto de registros. Isso não permite que as colunas que você ou outro usuário da fonte de dados adicionem à tabela mais tarde, depois que o programa tiver sido compilado. As classes de banco de dados não suportam DDL diretamente, mas você ainda pode escrever código para vincular uma nova coluna ao seu conjunto de registros dinamicamente, em tempo de execução. Para obter informações sobre como fazer essa ligação, consulte Recordset: Dynamically Binding Data Columns (ODBC).
Você pode usar o próprio DBMS para alterar o esquema ou outra ferramenta que permita executar funções DDL. Você também pode usar chamadas de função ODBC para enviar instruções SQL, como chamar uma consulta predefinida (procedimento armazenado) que não retorna registros.
Realizar chamadas de funções SQL diretas
Você pode executar diretamente uma chamada SQL usando um objeto CDatabase Class . Configure a sua instrução SQL (geralmente em um CString) e passe-a para a função membro CDatabase::ExecuteSQL do seu objeto CDatabase. Se você usar chamadas de função ODBC para enviar uma instrução SQL que normalmente retorna registros, os registros serão ignorados.