Exception in thread "main" java.sql.SQLException: No database selected  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
riquefs
Entusiasta Java

Membro desde: 18/08/2006 15:22:10
Mensagens: 20
Localização: Sampa
Offline

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:2
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

Campanha Mundo Livre ..... Afilie-se ao
Open Source
[WWW] [MSN]
haamilton
JavaTeenager

Membro desde: 26/04/2006 17:34:27
Mensagens: 174
Localização: Curitiba - PR
Offline

Será que você não está esquecendo de colocar o nome do banco de dados nessa linha:



ficando assim:


Hamilton
dicabeca
JavaEvangelist
[Avatar]

Membro desde: 12/05/2007 23:28:48
Mensagens: 458
Localização: Rio de Janeiro - RJ
Offline

falta selecionar o banco,

This message was edited 1 time. Last update was at 17/03/2008 10:25:42


"Quem um dia experimentou a emoção de ser Flamengo, nunca mais vai viver outra que se equipare"
[MSN]
fabfodao
Thread.start()
[Avatar]

Membro desde: 02/02/2008 21:15:31
Mensagens: 26
Offline

http://www.guj.com.br/java.artigo.7.1.guj
BrunoCarlo
Virtual Machine Man

Membro desde: 25/11/2004 10:50:06
Mensagens: 634
Localização: Rio de Janeiro
Offline

Ola, na sua url de conexão vc tem que passar o banco que vc está se conectando...


Na sua url não tem o nome do banco.

Evoluir é preciso

Sempre bom olhar-API
riquefs
Entusiasta Java

Membro desde: 18/08/2006 15:22:10
Mensagens: 20
Localização: Sampa
Offline

Ok pessoal Estava realmente faltando a referencia ao Banco de dados (teste).


Ficou assim;

DriverManager.getConnection("jdbc:mysql://localhost/teste", "root", "itc");

Esta tudo Certo agora.

Agradeço a ajuda

Campanha Mundo Livre ..... Afilie-se ao
Open Source
[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team