[code]
public void gravarRegistro(){
try{
String sql = “INSERT INTO teste (nome, idade, altura, peso, sexo) values(’”
+etNome.getText().toString()+"’,’"
+etIdade.getText().toString()+"’,’"
+etAltura.getText().toString()+"’,’"
+etPeso.getText().toString()+"’,’"
+etSexo.getText().toString()+"’)";
bancoDados.execSQL(sql);
}
catch (Exception erro){
mensagemExibir("PORRRAAAAAA", "Erro ao gravar dados!");
}
}[/code]
quando executo cai na mensagem de erro aguem pode me ajudar?
Diga-nos a mensagem de erro.
cabei de descobrir uma coisa… eu tirei os parametros passado e puis tudo valores manuais… e gravou… o q sera q esta errado na minha sintaxe?
dj11
Agosto 25, 2011, 6:09pm
#4
qual Exception o console exibe? :evil:
achei o problema mas nao sei como corrigir
[code]
String sql = “INSERT INTO teste2 (nome, idade, altura, peso, sexo) values (’”
+etNome.getText().toString()+"’,’"
+etIdade.getText().toString()+"’,’"
+etAltura.getText().toString()+"’,’"
+etPeso.getText().toString()+"’,’"
+etSexo.getText().toString()+"’)";
bancoDados.execSQL(sql);
mensagemExibir("Aviso banco", "Dados gravados com sucesso!");[/code]
meu codigo de inserçao é este,
na minha tela tem campos “editText com o tipo do input TEXT” e "editText com o tipo do input DECIMAL"
se eu anular o tipo decimal grava certim… mas quando ativo o DECIMAL… da erro … como posso corrigir?
os campos decimal é o etAltura, etPeso, etIdade
acho q deve ter alguma forma de converte
Nesse forum, coloque a tag [ANDROID] no titulo quando for perguntar algo relacionado.
E também evite titulos com “me ajudem”.
Dessa vez eu editei para voce.
Não sei se é este seu problema, mas verifique aí:
Possivelmente o seu DECIMAL.toString retorna alguma string com vírgula e a string SQL final tem mais “valores” do que colunas, causando o erro.
Exemplo:
nome = “joão”;
decimal = 1.2;
INSERT INTO TABELA(campo1, campo2)
values (nome.toString, decimal.toString);
Possivelmente sua string SQL final fique assim:
INSERT INTO TABELA(campo1, campo2)
values (joao, 1,2);
A linha “values” possue 3 valores, gerando o erro (pois só existem 2 colunas).
No seu caso talvez usar um replace no decimal.toString resolva.
Obs: Talvez exista uma solução mais elegante. :lol:
Aconselho você a ultilizar o SQLiteDatabase.insert que e menos sujeito a erros.