Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

O pedido é finalizado com sucesso mas não registra no WebSQL

Olá pessoal, o banco de dados no WebSQL é criado ao executar a aplicação assim como a table agendamentos, mas ao finalizar um pedido não é registrado na table agendamentos o registro do pedido.

Criação do Banco no app.js

DatabaseValues.setup();
DatabaseValues.bancoDeDados.transaction(function(transacao){
    transacao.executeSql('CREATE TABLE IF NOT EXISTS agendamentos (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, nome VARCHAR(300), endereco VARCHAR(300), email VARCHAR(300), dataAgendamento VARCHAR(40), modelo VARCHAR(100), preco VARCHAR(50), confirmado BOOLEAN);',[]);
});

Método no finalizarPedido.controller.js

$scope.salvarDadosNoBancoDeDados = function(confirmado){

    DatabaseValues.setup();
    DatabaseValues.bancoDeDados.transaction(function(transacao){
        transacao.executeSql('INSERT INTO agendamentos(nome, endereco, email, dataAgendamento, modelo, preco, confirmado) VALUES (?,?,?,?,?,?,?);', [$scope.pedido.nome,$scope.pedido.endereco,$scope.pedido.email,$scope.dataSelecionada,$scope.carFinal.nome,$scope.carFinal.preco,confirmado]);
    });
};
5 respostas

Oi.

Oq pode está acontecendo:

1)Está gerando erro ao rodar o SQL de insert. Acontece algum erro na aba Console do Chrome?

2)Não está passando no método que faz o INSERT. Por algum motivo, que não da pra saber olhando apenas para o código que vc postou, o metodo que faz o insert não está sendo chamado.

3)Erro no proprio insert. Tenta executar o insert direto no banco de dados para ver se está tudo certo com ele.

Oi Lazaro.

Não está gerando nenhum erro no console ao finalizar o pedido. Rodei o seguinte insert direto no banco:

INSERT INTO agendamentos(nome, endereco, email, dataAgendamento, modelo, preco, confirmado) VALUES ('chuck','rua teste','chuck@email.com','24/02/2017','astra','54.251','true');

Ele retornou o seguinte erro:

could not prepare statement (1 table agendamentos has no column named endereco)

Dizendo que a coluna endereco não existe, mas no SQL de criação da tabela a coluna está lá. É meu primeiro contato com o webSQL como posso ver a estrutura da tabela?

att,

solução!

Olá Lázaro o erro foi no meu Select de criação da tabela, não tinha passado alguns campos. Agradeço o retorno rápido. Grande abraço!

Que bom que achou o erro.

Bons estudos.

Pessoal, boa noite ! Estou passando por esse problema e não consigo resolver ... Alguém pode me ajudar?