Duvidade de JDBC meu insert nao da certo alguem pode me ajudar por favor

escrevi o seguinte codigo para tentar fazer um insert nao esta dando certo, gostaria de aprender mais sobre jdbc, gostaria de saber se tem algum tutorial para aprender fazer cadastros com telas tipo swing algo assim obrigado

[code]public class Insert {

public static void main(String[] args) throws Exception {

Class.forName("com.mysql.jdbc.Driver");
			
String ipMaquina = "localhost";
String nomeBanco = "mysql";
String usuario = "root";
String senha = "diego123";
				
Connection connection = DriverManager.getConnection("jdbc:mysql://"+ipMaquina+"/"+nomeBanco+"?user="+usuario+"&password="+senha);

Statement statement = connection.createStatement();
	
	String nome = "Diego";
    String email = "diego.anfiloquio@gmail.com";
    String telefone = "34339052";
	
	String queryInsert = "insert into contatos values = "+nome+email+telefone;
	
	int update = statement.executeUpdate(queryInsert);
	if(update != 0){
		System.out.println("Operacao realizada com sucesso!");
		System.out.println(queryInsert);
		System.out.println("-----------------------");
	}
			
	statement.close();
	
	connection.close();
	
}

}[/code]

da o seguinte erro : Exception in thread “main” com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘= Diegodiego.anfiloquio@gmail.com34339052’ at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485)
at net.cadastro.Insert.main(Insert.java:33)

Leia o erro. Esta bem claro.

Sua sintaxe SQL esta errada.

Valeu cara ate li o erro porem nao sei corrgir, teria que por: insert value (‘nome’,‘email’,‘telefone’)?

 String queryInsert = "insert into contatos values = "+nome+email+telefone; 

Realmente está errado, procure alguma referência de SQL.
Exemplo: http://www.w3schools.com/sql/sql_insert.asp

Tente algo parecido com:

 String query = "insert into contato(nome,email,telefone)values(\""+nome+"\","+email+",\""+telefone+"\")";  

Ve se roda?

Vlwssss! :lol:

E aeee!

Tudo bem meu irmão!
Deixa eu te falar…

O comando SQL correto tem que estar… assim…

[color=red]INSERT INTO NOMEDATABELA (CAMPO1, CAMPO2, CAMPO3, CAMPO4) VALUES ( VALOR1, VALOR2, VALOR3, VALOR4 );[/color]

Lembrando que se for valores numericos pode colocar a variavel direto !

Se for uma String ou um caractere…
OBRIGATORIAMENTE vc tem que colocar aspas simples…

Então ficaria algo assim…

[color=red]INSERT INTO CONTATO(nome, email,telefone,idade) VALUES(‘Andre Manoel’, ‘andre@ui.com.br’, ‘3394-7406’, 23);[/color]

abraçãooo!!!

Não estão faltando as [ ‘’ ] entre os nomes?

tipo: " ’ " +nome + " ’ "
:smiley:

Corrigindo…

Talvez possa ser com aspas duplas…
Como disse o nosso caro amigo …
aí em cima… para usar aspas…
tem que colocar a barra antes…

[color=red]INSERT INTO CONTATO(nome, email,telefone,idade) VALUES(‘Andre Manoel’, ‘andre@ui.com.br’, ‘3394-7406’, 23); [/color]

ou

[color=red]INSERT INTO CONTATO(nome, email,telefone,idade) VALUES(“Andre Manoel”, “andre@ui.com.br”, “3394-7406”, 23); [/color]

Utilizando as variaveis…

[color=red]"INSERT INTO CONTATO(nome, email,telefone,idade) VALUES(’ “+ variavelNome +” ‘, ’ " +variavelEmail + "’, ’ " + variavelTelefone + “’,” +variavelIdade + "); "[/color]

Se usar PreparedStatement vai poupar muita dor de cabeça…
aqu no GUJ tem um tutorial, de uma olhada.

[]´s

[color=darkblue]YESSSSSSSSSSSSSSS[/color]

Caramba…
Mas não tem nenhuma complicação em se fazer um insert…
Tem muita gente precisando estudar SQL, rssrsrsrsrsr…
Estão confundindo o colega…

Segue um exemplo…

private void incluirUsuario() { // conecta no banco de dados... conexao.conectar(); try { // usando Statement, mas você poderia usar o preparedStatement... stmt = conexao.con.createStatement(); stmt.executeUpdate("Insert into Usuarios (ModuloAcesso_Usu, Login_Usu, Senha_Usu) " + "values ('"+(String)comboModulo.getSelectedItem()+"','"+editLogin.getText()+"', " + "'"+editSenha.getText()+"')"); stmt.close(); JOptionPane.showMessageDialog(null,"Usuário incluído com sucesso!"); } catch(SQLException e) { JOptionPane.showMessageDialog(null,"Falha ao incluir o usuário!"); e.printStackTrace(); } finally { conexao.desconectar(); } }
É muito simples…
Um abraço!

Bom galera relamente meu problema tava no SQL mesmo valeu pela atençao abraço.