Dúvida Java-MySQL [RESOLVIDO]

9 respostas
pedroroxd

Awopa galera…
Sou meio novo em Java, e to fazendo conexão com MySQL… Já ta dando tudo certo, criei o banco e tudo
Peguei um código de conectar com o banco de dados, e deu certo, mas na hora de dar o insert da erro =X

Colokei 1 attachments pra vocês verem o código.

Quando eu executo ele, exibe a mensagem: Legal conectou
Se eu tirar o // de onde tá o //ResultSet rsett = stmt.executeQuery(“insert into cliente (‘id’ , ‘Nome’, ‘Endereço’, ‘Telefone’, ‘Celular’, ‘Email’) values (‘3’, ‘Teste’, ‘Rua 2’, ‘3471-1111’, ‘88111234’, ‘[email removido]’)”);

Ele exibe a mensagem: Legal conectou, e logo abaixo aparece “Não foi possível conectar ao Banco de Dados”

Dados:
Localhost, database: restaurante, username: root, password: admin.

PS: se eu coloco o password por exemplo errado, ele só aparece “Não foi possível conectar ao Banco de Dados”, e não exibe a mensagem Legal Conectou… então o problema eh no insert msmo =/

Vlws…

9 Respostas

leoramos

Tem nada a ver com a conexão… a exceção que tá disparando é de SQL mesmo.
Uma coisa: o teu ‘id’ na TABELA DO BANCO é autoincrement ou não? Se for, faz isso:

ResultSet rsett = stmt.executeQuery("insert into cliente (Nome, Endereco, Telefone, Celular, Email) values ('Teste', 'Rua 2', '3471-1111', '88111234', '[email removido]')");

Se não tem autoincrement:

ResultSet rsett = stmt.executeQuery("insert into cliente (id, Nome, Endereco, Telefone, Celular, Email) values (3, 'Teste', 'Rua 2', '3471-1111', '88111234', '[email removido]')");

Detalhes:

  • leia sobre PreparedStatement, é a maneira mais elegante de se fazer isso;
  • os nomes das colunas não devem ser cercados por aspas simples (’ ');
  • os valores que são Strings devem ser cercados por aspas simples;
  • a coluna Endereço realmente está grafada no banco com ç?

Abraços!

pedroroxd

Nennhum dos 2 deu certo…
PS: o campo é Endereço msmo, não Endereco…

Vlw ae pela tentativa

PS: Acabei de testar um select e deu certo:

ResultSet rsett = stmt.executeQuery(“SELECT id,Nome,Endereço, Telefone, Celular, Email FROM cliente”);

while (rsett.next()) {

int id = rsett.getInt(Id);

String nome = rsett.getString(Nome);

String endereço = rsett.getString(Endereço);

String telefone = rsett.getString(Telefone);

String celular = rsett.getString(Celular);

String email = rsett.getString(Email);

}
leoramos

Ali no código que eu escrevi eu corrigi “Endereço” para “Endereco”, isso tu chegou a notar (pra colocar pro teu jeito de novo, digo).

No teu console deve ter o stack trace da exceção, cola aqui pra gente =)

pedroroxd

leoramos:
Ali no código que eu escrevi eu corrigi “Endereço” para “Endereco”, isso tu chegou a notar (pra colocar pro teu jeito de novo, digo).

No teu console deve ter o stack trace da exceção, cola aqui pra gente =)

não intendi bulufas do q vc falo
hUAhuahu

esse código executando no SQL da certo:
insert into cliente values (3, ‘teste’, ‘Rua 2’, ‘3471-1111’, ‘88111234’, ‘[email removido]’);

mas na class não
ResultSet rsett = stmt.executeQuery(“insert into cliente (id, Nome, Endereço, Telefone, Celular, Email) values (3, ‘Teste’, ‘Rua 2’, ‘3471-1111’, ‘88111234’, ‘teste@ho’)”);

leoramos

É que eu escrevi “Endereco” e não “Endereço”.

Se funcionou, tenta substituir e posta o erro, o stack trace do console…

Tenta e vê o que dá…

ResultSet rsett = stmt.executeQuery("insert into cliente values (3, 'teste', 'Rua 2', '3471-1111', '88111234', '[email removido]')");
pedroroxd

[quote=leoramos]É que eu escrevi “Endereco” e não “Endereço”.

Se funcionou, tenta substituir e posta o erro, o stack trace do console…

Tenta e vê o que dá…

ResultSet rsett = stmt.executeQuery("insert into cliente values (3, 'teste', 'Rua 2', '3471-1111', '88111234', '[email removido]')");

Não deu certo nao…
Só ta dando pra inserir pelo Comando SQL… Pela classe não…

Tentei até esse simplesinho:
ResultSet rsett = stmt.executeQuery(“insert into cliente (Nome, Endereço) values (‘Teste’, ‘Rua 2’)”);

Também não deu… O estranho eh q o select da certo

leoramos

Cara, como eu falei, posta o stack trace da Exceção, ou pelo menos o DDL da tua tabela, que já ajuda.
Tu apagou esse registro no banco antes de tentar gravar de novo, né? Eu sei que é uma pergunta idiota, mas eu já trabalhei com suporte, então tenho mania =P

pedroroxd

leoramos:
Cara, como eu falei, posta o stack trace da Exceção, ou pelo menos o DDL da tua tabela, que já ajuda.
Tu apagou esse registro no banco antes de tentar gravar de novo, né? Eu sei que é uma pergunta idiota, mas eu já trabalhei com suporte, então tenho mania =P

Mano, vlw por tudo…
Eu fui na sala do meu professor, ele me explicou.
O código ficou assim:

String sql = "INSERT INTO cliente (id, Nome, endereço, telefone, celular, email) VALUES(3, 'Teste','Rua 2', '3471-1111', '88111234', '[email removido]')";
stmt.executeUpdate(sql);

Vlw…

pedroroxd

=0

Criado 26 de agosto de 2009
Ultima resposta 26 de ago. de 2009
Respostas 9
Participantes 2