>
Ola pessoal..
Na aula 6 do curos de Android temos que deletar os registros depois que a replicação é feita.
Estou com dificuldade para deletar eses registros do meu banco. Estou fazendo o seguinte :
db.delete("vendas", "_id=?", new String[]{String.valueOf(cursor.getInt(0))});
Log.d("ExportarVendas", String.valueOf(cursor.getInt(0)));
Coloquei esse Log para ver se ele esta pegando o valor correto do _id e sim esta, mas não deleta.
Deposi de várias tentativas resolvi apelar e fiz o seguinte :
if (db.delete("vendas", null, null) >0) {
Log.d("ExportarVendas", "Deletou");
};
Tambem não deletou, e não criou o LOG.
Tambem fiz isso :
db.execSQL("DELETE FROM vendas" );
ou seja deleter todos os registros independente de condição...
e adivinhem .......... NÃO DELETOU.....
Alguem teria uma sugestão para descobrir onde esta o erro....?
Grato,
Eduardo
Olá
Verifique
1 - O banco esta com nome correto (.db)?
2 - A Tabela não contem registros relacionado com outros, e com isso esta impedindo o delete?
3 - O que acontece se você tentar deletar via comando SQL direto no Console?
Ola.
1) Sim o banco esta com o nome correto.. vide o codigo em anexo.
2) Não existe registro relacionado, é uma tabela que contem os registros de vendas...
3) Não sei como deletar via comando SQL direto no console.
Abs.
http://rlsystem.com.br/forum/disco/uploads/a147d88dacc186a7323bb1b7de9f961a-erro3.png
Ola...
respondendo sua 3a pergunta...
Se eu fizer pela linha de comando direto no console o DELETE funciona.
veja....
http://rlsystem.com.br/forum/disco/uploads/bfeecb9f5dfe2611f5365c09b8133504-erro4.png
Oi boa tarde. Seu código PHP está funcionando?Os dados estão sendo inserido no seu banco de dados?
Ola... novamente..
Sim Anildo os dados estão sendo inseridos. Mas acabei de identificar que o problema não era no DELETE e sim no IF onde ele esta contido.
Como pode visto no codigo abaixo o DELETE esta dependendo do resultado da tela ser igual a "OK", porem ele esta vindo em branco e ai o problema muda de lugar.
Quando eu executo minha tela (que é em ASP) ela inclui os dados no banco e me retorna um "OK" como pode ser visto abaixo.
Mas esse "OK" não esta retornando para dentro do meu código Android.
Alguem teria alguma dica...?
Grato,
Eduardo
O que esta retornando no Android ao invés de "OK"?
Retorna vazio.
Eduardo
Crie uma pagina PHP, e faça ela somente retornar OK (sem usar MySQL nem nada).
Mude sua URL ali para ela e mantenha os parâmetros e veja se o retorno será "OK"!
Amigo eu não tenho servidor PHP só o IIS....
Eduardo
Você pode instalar o APACHE localmente.
O ISS também roda PHP.
Nos precisamos ter este teste, por que pelo que parece seu ASP.NET não esta retornando os chars para o Android
Ola Amigo... Moderador..
Fiz o que você sugeriu. Instalei o servidor de PHP dentro do meu IIS e criei uma pagina PHP que retorna somente um "OK".
O resultado é que esta retornando informação, não retorna o "OK" mas retorna uma tag do HTML.
Quando eu acesso a pagina usando o brownser ela retorna o "OK" (vide) imagem abaixo...
http://rlsystem.com.br/forum/disco/uploads/6684c16a4c5f199dc1a3cef1486b0d22-imagem3.png
Mas quando eu rodo meu APP ele retorna um tag do HTML vide imagem do LOG.d abaixo.
http://rlsystem.com.br/forum/disco/uploads/cd829abf33c52b47f19ab9c7ff4e254a-Imagem2.png
Eu gostaria de saber porque a pagina ASP não retorna nada no APP...
E como eu faço para pegar o "OK" do retorno da pagina PHP ..?
Grato,
Eduardo
Ola Amigo... Moderador..
Fiz o que você sugeriu. Instalei o servidor de PHP dentro do meu IIS e criei uma pagina PHP que retorna somente um "OK".
O resultado é que esta retornando informação, não retorna o "OK" mas retorna uma tag do HTML.
Quando eu acesso a pagina usando o brownser ela retorna o "OK" (vide) imagem abaixo...
Mas quando eu rodo meu APP ele retorna um tag do HTML vide imagem do LOG.d abaixo.
Eu gostaria de saber porque a pagina ASP não retorna nada no APP...
E como eu faço para pegar o "OK" do retorno da pagina PHP ..?
Grato,
Eduardo
Olá
O ASPX retorna mais do que um OK, ele retorna outras TAGS.
Uma solução via ASPX seria utilizar Web Services via SOAP (tem isso em uma aula do Android Best, aqui na RL System).
O seu .php, deve ter tags HTML, exclua elas, deixe so OK.
Ah, faça isso também no ASPX (para testar) tire tudo, so deixo ele jogar OK, deixe o ASPX vazio.
Ola.... fiz o que você sugeriu, deixei só o "OK" na pagina PHP e rodei...
a linha
Log.d("*********Exportar", line.readLine());
Mostra o "OK" vide imagem...
Porem a linha
String linhaRetorno = line.readLine();
Log.d("---ExportarVendas Li Re", linhaRetorno);
Não mostra nada... ???? como pode se ele mostra que a variavel "line" tem conteudo...???
e portanto o IF do DELETE não funciona.
?????????
Abs,
Eduardo
http://rlsystem.com.br/forum/disco/uploads/498d2f62ccdd6369ae72a83937ddac2b-erro6.png
Eduardo
Se você chamar o readline duas vezes, ele não vai mostrar mesmo, já que ao chamar o readline ele lê e pula para a próxima linha.
Você deve atribuir o readline a uma variável e depois ler ela quando precisar.