Não conssigo inserir no banco?

5 respostas
D

Galera, estou ficando doido, estou tentando inserir dados dentro de dois campo de uma tabela no Mysql e não conssigo!!

Minha página cadastro.jsp é essa:

Está dano esse erro!!

Os dois campos no Mysql são varchar!! A setinha que aponta o erro est’apontando para o 1º parentese após ao executeUpdate() e nào no resultSet!! :?: :cry:

5 Respostas

caiofilipini

Cara, se você der uma olhada na API:

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)

vai ver que o método executeQuery(String) retorna um int, e não um ResultSet. :wink:

[]'s

M

Acredito que isto resolva seu problema no banco de dados voce definiu como número o cpf, e voce esta passando como String não coloca as aspas simples

ResultSet res = stm.executeUpdate(“insert into cadastro(Nome,Cpf) values(’”+nome+"’,"+cpf+")");

aoqfonseca

Amigo,

Veja o post do caio filipi que explica bem oque está acontecendo.

O resultSet é usado apenas para pecorrer um resultado de uma query, seria algo parecido com um cursor do PL SQL.

Este método executeUpdate, se vc olhar a documentação, ele retorna um int"
Ëste inteiro indica o número de linhas alterados no processo.

Vale lembrar que depois é interessante encerrar a conexão Exemplo:
int linhas = stmt.executeUpdate("insert into blabla(1,2) values (1,2)")
stmt.close();
conn.close();
Outra coisa interessante é que vc use preparedStatements ao invés de stataments com concatenação de string.... O seu codigo com preparedStatement ficaria mais ou menos assim :
PreparedStatement stm = conn.prepareStatement("insert into cadastro(Nome,Cpf)  values (?,?)")
stm.setString(1,nome);
stm.setInt(2,Integer.parseInt(cpf));
stm.executeUpdate();

....

stm.executeUpdate("insert into cadastro(Nome,Cpf) values('"+nome+"','"+cpf+"')");

Espero ter ajudado ... para mais informações de uma procurada nos tutoriais aqui do guj.
Abraços

M

Não é isso que você falou isso e muito facil eu sei fazer !!!

eu estou falando se eu tenho duas aplicações que usam meu banco de dado
por exemplo o gerente de uma loja olhando seu dados referetes a sua conta se posui saldo, debitos, ai naquela hora voce faz um saque, ele ve em tempo real sem precisar clicar em algum lugar para fazer um updat, visualizar as multiplas conexões com o “banco de dado em tempo real”, disponibilizar os dados para todos o clientes conectados ao “banco de dado”.

isto e so um exemplo ruin, mas da de saber a inteção que estou fando…

valeu até mais

M

deu certo??

Criado 19 de março de 2004
Ultima resposta 22 de jun. de 2006
Respostas 5
Participantes 4