Peço sua ajuda para encontar o que esta errado.
Olha esse erro .
Exception in thread “main” java.sql.SQLException: No database selected
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
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:2542)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:995)
at br.com.caelum.jdbc.dao.ContatoDAO.adiciona(ContatoDAO.java:28)
at br.com.caelum.jdbc.dao.TestaInsere.main(TestaInsere.java:24)
Foi gerado dessas classes …
package br.com.caelum.jdbc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import br.com.caelum.jdbc.ConnectionFactory;
import br.com.caelum.jdbc.modelo.Contato;
public class ContatoDAO {
public Connection connection;
public ContatoDAO() throws SQLException{
this.connection = ConnectionFactory.getConnection();
}
public void adiciona (Contato contato) throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("insert into contatos (nome,email,endereco) values (?,?,?)");
//atribuind os valores
stmt.setString (1,contato.getNome());
stmt.setString (2,contato.getEmail());
stmt.setString (3,contato.getEndereco());
stmt.execute();
stmt.close();
}
}
package br.com.caelum.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public static Connection getConnection () throws SQLException{
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Conectando ao banco !!!!!!...!");
return
DriverManager.getConnection("jdbc:mysql://localhost", "root", "itc");
}catch (ClassNotFoundException e){
throw new SQLException (e.getMessage());
}
}
}
import java.sql.SQLException;
//import java.util.Scanner;
import br.com.caelum.jdbc.modelo.Contato;
public class TestaInsere {
public static void main(String[] args)throws SQLException {
//Scanner teclado = new Scanner (System.in);
Contato con = new Contato ();
//System.out.println("Nome: ");
con.setNome("aaaa");
//System.out.println("Email: ");
con.setEmail("aaaa");
//System.out.println("Endereco: ");
con.setEndereco("aaaa");
ContatoDAO dao = new ContatoDAO();
dao.adiciona(con);
System.out.println("Adicionado!");
}
}
MAS O QUE ESTA ERRADO ???
O BANCO DE DADOS ESTA CRIADO EM MYSQL COM O NOME TESTE, SENHA, E JAH FOI ESTARTADO…
Então dai surge a duvida o que esta errado ?
Obrigado