Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 18 Próxima »

Executa instruções no formato de comandos na linguagem SQL. Este bloco utiliza recursos do Apache Cordova, para mais informações de configuração e funcionamento deste recurso, verifique a documentação oficial do Cordova.


Figura 1 - Bloco Executar Comando SQL


Este bloco pode ser útil caso seja necessário personalizar as instruções SQL utilizadas. No entanto, recomendamos utilizar os recursos de banco de dados offline e banco local com PouchDB disponibilizados no Cronapp. Para mais detalhes, verifique o tópico "Suporte a dados offline (mobile)" da documentação Componente visual fonte de dados e o tutorial do PouchDB, respectivamente.

Compatibilidade

  • Bloco cliente: cronapi.cordova.database.executeSql()

Retorno

O retorno do bloco irá depender do comando SQL executado. Em geral, apenas os comandos de consulta ao banco de dados, como o SELECT, retornam um objeto contendo os dados da consulta realizada.

Parâmetros

Nome do Banco

Nome do banco de dados no qual serão executados os comandos SQL.

  • Posição: 1
  • Inglês: Database Name
  • Tipo: Texto / String
  • Exemplo: "contatos"

SQL

Comando SQL a ser executado no banco de dados informado anteriormente.

  • Posição: 2
  • Inglês: SQL
  • Tipo: Texto / String
  • Exemplo: "CREATE TABLE PESSOA (idPessoa integer PRIMARY KEY, nome);"

Lista de parâmetros

Lista de parâmetros a ser adicionada ao comando. Neste parâmetro, para criar a lista, pode ser utilizado o bloco criar lista com.

  • Posição: 3
  • Inglês: List of parameters
  • Tipo: Objeto / Object
  • Exemplo: Uso do bloco criar lista com.

Características do bloco

O bloco Executar Comandos SQL utiliza os comandos da linguagem SQL. Esses comandos são agrupados em 4 categorias, sendo DDL e DML as duas principais:

  • Linguagem de Definição de Dados (DDL): Comandos desse tipo são utilizados pra criar, modificar e apagar a estrutura dos objetos de um banco de dados. Os comandos são: CREATE, ALTER, DROP, RENAME e TRUNCATE.

  • Linguagem de Manipulação de Dados (DML): Comandos desse tipo são utilizados para armazenar, obter, modificar e apagar os dados. Os comandos são: INSERT, SELECT, UPDATE e DELETE.

Consultas dinâmicas

O bloco Executar Comandos SQL além de aceitar consultas estáticas, onde os parâmetros são passados na própria consulta, também aceita consultas dinâmicas. As consultas SQL dinâmicas são úteis quando os argumentos a serem utilizados na consulta são obtidos durante a execução do programa, sendo frequentemente recuperados através da interação do usuário com o sistema.

Nesse tipo de consulta, os parâmetros são passados de forma dinâmica de acordo com o exemplo abaixo, onde o símbolo (?) significa o valor a ser obtido e agregado ao comando SQL a ser executado.


INSERT INTO nomeTabela VALUES (?,?,?);

Exemplo

Os tópicos a seguir apresentam exemplos de uso do bloco Executar Comando SQL, demostrando os principais comandos SQL utilizados. O banco de dados utilizado nos exemplos é o mesmo que foi criado na documentação do bloco Criar banco de dados, consulte-a para mais detalhes.

Criando tabelas

Na função da Figura 2, estamos criando duas tabelas, PESSOA e TELEFONE, no banco de dados "contatos" em um dispositivo móvel. Para esta ação, inserimos dois comandos CREATE, descritos no bloco de código abaixo, no parâmetro SQL do bloco. 


CREATE TABLE PESSOA (idPessoa integer PRIMARY KEY, nome);
CREATE TABLE TELEFONE (idTel integer PRIMARY KEY, num, idPessoa, CONSTRAINT fk_PesTel FOREIGN KEY (idPessoa) REFERENCES PESSOA (idPessoa));


Neste exemplo, a tabela PESSOA é composta por duas colunas, "idPessoa" (chave primária) e "nome", enquanto a tabela TELEFONE possui as colunas "idTel" (chave primária), "num" e "idPessoa". Observe também que essas tabelas mantêm um relacionamento de chave estrangeira, o que significa que cada registro na tabela TELEFONE deve estar associado a um registro na tabela PESSOA.


Figura 2 - Criando tabelas utilizando o comando 'create table'

Inserindo registros

Na função abaixo, estamos utilizando os comandos INSERT para inserir registros nas tabelas. No bloco Executar Comando SQL da variável "pessoa", estamos utilizando uma consulta dinâmica para inserir registros na tabela correspondente, por isso no parâmetro Lista de parâmetros inserimos um bloco criar lista com e adicionamos o valor "Ana".


Figura 2.1 - Inserindo registros nas tabelas utilizando o comando 'insert into'


No bloco Executar Comando SQL da variável "telefone", estamos utilizando uma consulta estática para inserir dois registros na tabela "telefone". Os comandos passados estão no bloco de código abaixo.


INSERT INTO TELEFONE (idPessoa, num) VALUES (1,'(51) 98764-3200');
INSERT INTO TELEFONE (idPessoa, num) VALUES (1,'(63) 99097-6578');

Consultando registros

Na função, vamos fazer uma consulta na tabela "telefone" utilizando o comando "select from". Neste exemplo, estamos utilizando uma consulta dinâmica para retornar os registros que possuem idPessoa igual a 1. Retorna um objeto..

Após configurar o bloco Executar Comando SQL na variável "objeto", precisamos configura um laço de repetição para percorrer todos os itens de retorno dessa variável. Para isso, utilizamos o bloco para cada item na lista e nele inserimos a variável "objeto". Em seguida, na variável "item", adicionamos o bloco Obter Propriedade, que em cada item da variável "objeto" retornará a propriedade "num", que corresponde ao número de telefone do registro consultado. Visto que na variável "objeto" é retornado, além dos itens da consulta, também as propriedades length e prototype, utilizamos o bloco condicional se faça para encerrar o laço caso a propriedade item seja nula. Por fim..


SELECT * FROM TELEFONE WHERE idPessoa=?;


Figura 2.2 - Consultando registros utilizando o comando 'select from'

Atualizando um registro

Na função abaixo, vamos atualizar um registro na tabela "pessoa" utilizando o comando "update". Neste exemplo, estamos utilizando uma consulta dinâmica para atualizar o registro que possui idPessoa igual a 1. Observe que no tópico Criando tabelas, esse registro foi criado com o campo nome preenchido como "Ana", agora vamos atualizá-lo para "Ana Paula". Para visualizar o registro atualizado, pode-se utilizar o comando "select from", abordado no tópico Consultando registros.


UPDATE PESSOA SET nome=? WHERE idPessoa=1;


Figura 2.3 - Atualizando um registro utilizando o comando 'update'

Excluindo um registro

Na função abaixo, iremos excluir um registro da tabela "telefone" utilizando o comando "delete from". Neste exemplo, também estamos utilizando uma consulta dinâmica para excluir o registro que possui idTel igual a 1. Para visualizar se o registro foi excluído, pode-se utilizar o comando "select from", abordado no tópico Consultando registros.


DELETE FROM TELEFONE WHERE idTel=?


Figura 2.4 - Excluindo um registro utilizando o comando 'delete from'


Nesta página

  • Sem rótulos