Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
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
Informações |
---|
Este bloco pode ser utilizado útil caso seja necessário personalizar as instruções SQL utilizadas. No entanto, o Cronapp possui recursos de 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.
Bloco de código | ||||
---|---|---|---|---|
| ||||
INSERT INTO nomeTabela VALUES (?,?,?); |
Exemplo
Os tópicos abaixo mostram alguns a seguir apresentam exemplos de uso do bloco Executar Comando SQL. Neles veremos , 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.
Âncora | ||||
---|---|---|---|---|
|
Criando tabelas
Na função abaixoda Figura 2, estamos criando duas tabelas, "pessoa" e "telefone"PESSOA e TELEFONE, no banco de dados "contatos" no em um dispositivo móvel. Para esta ação utilizamos , inserimos dois comandos "create table
", como mostra o CREATE
, descritos no bloco de código abaixo, no parâmetro SQL do bloco.
Bloco de código | ||||
---|---|---|---|---|
| ||||
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" PESSOA é composta por dois camposduas colunas, "idPessoa
" (primary keychave primária) e "nome
", enquanto a tabela TELEFONE possui as colunas "telefoneidTel
" possui os campos idTel
(primary keychave primária), "num
e " e "idPessoa
". Observe também que essas tabelas mantêm um relacionamento de chave estrangeira (foreign key), o que significa que cada registro na tabela "telefone" TELEFONE deve estar associado a um registro na tabela "pessoa"PESSOA.
Figura 2 - Criando tabelas utilizando o comando 'create table'
Inserindo registros
Na função abaixo, estamos utilizando os comandos "insert into
" INSERT
para inserir registros nas tabelas. No bloco 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.
Bloco de código | ||||
---|---|---|---|---|
| ||||
INSERT INTO TELEFONE (idPessoa, num) VALUES (1,'(51) 98764-3200'); INSERT INTO TELEFONE (idPessoa, num) VALUES (1,'(63) 99097-6578'); |
Âncora | ||||
---|---|---|---|---|
|
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..
Bloco de código | ||||
---|---|---|---|---|
| ||||
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.
Bloco de código | ||||
---|---|---|---|---|
| ||||
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.
Bloco de código | ||||
---|---|---|---|---|
| ||||
DELETE FROM TELEFONE WHERE idTel=? |
Figura 2.4 - Excluindo um registro utilizando o comando 'delete from'
Nesta página
Índice |
---|