Boa noite, estou seguindo um tutorial de um livro para fazer a conexão no MySql, estou usando o drive JDBC, configurei o PATH, mas dá erro ao executar o comando como se a sintase da querySQL estivesse errada, porém se eu digitar a mesma query no MySQL query Brownser, consigo executar.
Segue o meu código:
package lib;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Scanner;
import java.sql.PreparedStatement;
public class InsereEditora {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String stringDeConexao = "jdbc:mysql://localhost:3306/livraria";
String usuario = "root";
String senha = "admin";
Scanner entrada = new Scanner(System.in);
try {
System.out.println("Abrindo conexao...");
Connection conexao =
DriverManager.getConnection(stringDeConexao, usuario, senha);
System.out.println("Digite o nome da editora: ");
String nome = entrada.nextLine();
System.out.println("Digite o email da editora: ");
String email = entrada.nextLine();
String textoDoComando = "INSERT INTO editora (nome, email) " +
"VALUES ('" + nome + "?, ?" + email + "?)";
PreparedStatement comando = conexao.prepareStatement(textoDoComando);
System.out.println("Executando comando...");
comando.execute();
System.out.println("Fechando conexao...");
conexao.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
O erro que aparece é esse:
Abrindo conexao...
Digite o nome da editora:
t
Digite o email da editora:
t
Executando comando...
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 ''t?, ?t?)' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
at lib.InsereEditora.main(InsereEditora.java:33)
Alguém pode me ajudar?