Tela que Executa Consultas SQL via AdvPL

No post de hoje, vou mostrar uma tela que montei que executa queries (seja SELECT, UPDATE, INSERT, etc). Ideal para quem tem clientes que trabalham com TCloud.

O conceito da tela, nasceu da necessidade de alguns alunos que trabalham com TCloud em poder executar algumas expressões em SQL para testar. Então eu montei esse fonte o zTiSQL, sendo que é possível acionar ele no programa inicial (colocar zTiSQL ao invés de SIGAMDI). Ou inserir ele em alguma tecla de atalho, por exemplo, Shift + F8 e abrir em qualquer tela do sistema.

Print da tela do fonte zTiSQL

Abaixo irei detalhar os principais recursos da tela (clique no título da aba para ver o conteúdo).

Abrir e Salvar

Essa primeira opção, você pode abrir arquivos com extensão .sql ou até mesmo salvar o texto da query digitada em um novo arquivo SQL, definindo a pasta de sua escolha pelo sistema operacional.

Navegação de pastas do botão Abrir (similar ao botão Salvar)

Executar

Para executar uma query, você pode selecionar o texto desejado e apertar F5 (ou clicar no botão executar). Ou se preferir, você pode pressionar F5 diretamente, que irá executar todo o texto digitado.

Se a query tiver alguma falha, irá apresentar uma mensagem de falha.

Erro ao executar um Select

Se estiver tudo correto, ao executar, será carregado a grid, e no rodapé as informações de tempo gasto e o total de linhas.

Resultado de um Select

Agora se for uma query de manipulação, como UPDATE, também exibirá erros caso exista algum na query.

Erro ao executar um Update

Do contrário, se tiver tudo correto, irá exibir uma mensagem de sucesso.

Sucesso ao executar um Update

Ao executar queries que manipulam dados como UPDATE, INSERT INTO e DELETE, será exibido uma mensagem se deseja realmente prosseguir.

Pergunta em query de manipulação de dados

Já para queries de SELECT, se não houver o comando TOP ou não tiver um WHERE, será perguntado se deseja realmente executar, pois o resultado pode demorar.

Pergunta por causa de filtro em execução de Select

Exportar (Excel ou Txt)

Quando uma query estiver executada e seu resultado estiver na grid, é possível exportar o seu conteúdo ao clicar no botão Exportar.

Será exibido uma tela, para selecionar a extensão do arquivo, sendo possível exportar para:

  • Excel xlsx – Requer o printer.exe mais novo
  • Excel xml
  • Arquivo txt

Tela para exportar o resultado da query

Após escolher o diretório e definir o nome do arquivo, será processado e gerado para exibição.

Excel com o resultado exportado

Gerar Select

Pode ser que haja dúvidas ao montar um SELECT, então o botão Gerar Select tenta suprir essa necessidade.

Ao clicar nele, é exibido uma tela de parâmetros com Tabela, Quais campos, Número de linhas e qual ordenação.

Tela de parâmetros para gerar Select

Ao confirmar, é gerado a query automaticamente no editor.

Select gerado via parâmetros informados

Gerar Update

Se houver dúvidas em como montar um UPDATE, então o botão Gerar Update pode suprir essa necessidade.

Ao clicar nele, é exibido uma tela de parâmetros com Tabela, Campo e novo Conteúdo.

Tela de parâmetros do Update

Ao confirmar, será gerado a query no editor.

Update Gerado

Indentar

Às vezes temos uma query, e queremos indentar seu conteúdo, para ficar melhor legível. Por exemplo, no print abaixo, temos uma query que só tem uma linha:

Query antes de indentar

Ao clicar no botão indentar, ele irá carregar o site Free Formatter já preenchendo o campo da query.

Query no site Free Formatter

Então basta clicar no botão Format SQL para ver a query indentada.

Query após indentar

Buscar campos do Dicionário

Tem uma tecla de atalho na rotina, F3, que exibe uma dialog com todos os campos no sistema, ótimo para quem esqueceu algum nome de campo e precisa por na query. Ao pressionar, será exibido a seguinte tela:

Tela para seleção de campos

É possível filtrar então campo a campo, ou se inserir 3 caracteres, será filtrado o alias da tabela. A cada campo, basta dar duplo clique para dizer que o campo será usado na query.

Tela filtrando apenas SB1 e selecionando alguns campos

Ao confirmar a tela, os campos que foram selecionados, são exibidos na parte de edição de texto.

Resultado da seleção

Esse é um Fonte Premium, disponível para os assinantes dos Cursos do Terminal de Informação (assinatura de R$ 29,99 ao mês).

Ou se preferir, compre esse fonte premium por R$ 449,99 de modo avulso pelo Mercado Pago clicando aqui (após realizar o pagamento, nos envie o comprovante via e-Mail).

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

2 Responses

  1. ANTONIO COSTA PATINI disse:

    SHOW DE BOLA DANIEL SAN, EU TAMBEM MONTEI UMA TELA QUE FAZ ISSO, A MINHA SÓ NÃO IDENTA A QUERY ,MAS O RESTO É QUASE IGUAL.

Deixe uma resposta