Erro no Mysql

5 respostas
D

Quando tento usar esta conexão, obtenho erro.

#################Clases 01###################

Conexão.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;

/**
 *
 * @author Diego
 */
public class ConexãoMySQL {

    public static void execute(String SQL) throws SQLException {
        String driverName = "org.gjt.mm.mysql.Driver";
        String serverName = "localhost";
        String mydatabase = "CallCenter";
        String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
        String username = "BRUNO";
        String password = "1234";
        Connection connection = null;
        try {
            Class.forName(driverName);
            connection = DriverManager.getConnection(url, username, password);
            JOptionPane.showMessageDialog(null, "Conectou!");
            Statement stmt = connection.createStatement();
            ResultSet rsett = stmt.executeQuery(SQL);
            connection.close();
        } catch (ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, "O driver expecificado não foi encontrado.");
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Não foi possível conectar ao Banco de Dados");
        }
    }
}
#################Classe 02#########################
Jframe Que usa a conexãoDao

Parte do botão:

        Cliente c = new Cliente(TFnome.getText(), TFcpf.getText(), TFemail.getText(), TFtel.getText());
        if (BancoDadosDownComands.setNewClient(c)){
            JOptionPane.showMessageDialog(null, "Cliente adicionado com sucesso!");
        }else{
            JOptionPane.showMessageDialog(null, "Erro na conexão com o banco de dados!");
        }
##################Classe 03##################### BancoDao parte usada
public static boolean setNewClient(Cliente client) {
        try {
            ConexaoMySQL.execute("INSERTINTO`cliente` (`NOME` , `CPF` , `EMAIL` , `TELEFONE`)VALUES ('"+client.getNome()+"','"+client.getCpf()+"','"+client.getEmail()+"','"+client.getTelefone()+"');");
            return true;
        } catch (SQLException e) {
            return false;
        }
    }
Cliente e composto por 4 variareis com métodos get e set.

Não entendo pq da erro Não foi possível conectar ao Banco de Dados, e sei que ele chega a conecta apenas nao passa pelo ResultSet rsett = stmt.executeQuery(SQL);
o que posso fazer para resolver?

5 Respostas

romarcio

Leia esse post para aprender a postar códigos. Os códigos devem ser postados dentro da tag CODE.

Sobre o seu problema, acredito que o erro esteja no seu insert, é INSERT INTO e não INSERTINTO

ConexaoMySQL.execute("INSERTINTO`cliente` (`NOME` , `CPF` , `EMAIL` , `TELEFONE`)VALUES ('"+client.getNome()+"','"+client.getCpf()+"','"+client.getEmail()+"','"+client.getTelefone()+"');");

E o resultset serve para leitura de dados, select e não insert. Para inserir use PreparedStatement, caso não saiba como pode dar uma olhada aqui:
jdbc-com-banco-de-dados-standalone
E a classe do driver do Mysql deve ser essa: com.mysql.jdbc.Driver

luxu

pesquise tb como usar o framework HIBERNATE, vai facilitar em muito seu sistema!!

S

E aí blz?

Confira também a linha 15 do seu código na parte de conexão:

String driverName = "org.gjt.mm.mysql.Driver";

Pois o comum é:

String driverName = "com.mysql.jdbc.Driver";

Você baixou o driver no site da mysql e incorporou no seu projeto?

Outra coisa:

Pesquise um pouco mais sobre instruções para executar as querys em java, pois na linha 27:

ResultSet rsett = stmt.executeQuery(SQL);

Você está usando executeQuery(sql), onde por sua vez esse émelhor utilizado para instruções de SELECT. Para INSERT, UPDATE e DELETE utilize:

ResultSet rsett = stmt.executeUpdate(SQL);

Isso também pode ocasionar em erro na hora de compillar, por via das dúvidas posta o erro pra gente ver.

D

Já alterei para com.mysql.jdbc.Driver, porem não baixei o driver não coloquei clicanco com o botão direito em bibliotecas e adicionei mysql jdbc driver!

E ainda tenho o mesmo erro!

romarcio

diegossa:
Já alterei para com.mysql.jdbc.Driver, porem não baixei o driver não coloquei clicanco com o botão direito em bibliotecas e adicionei mysql jdbc driver!

E ainda tenho o mesmo erro!

Faça assim:

catch (SQLException e) { JOptionPane.showMessageDialog(null, "Não foi possível conectar ao Banco de Dados"); e.printStackTrace(); }

Dai cola o erro mostrado no log do console, vai ficar mais fácil tentar achar o problema.

Criado 20 de março de 2011
Ultima resposta 20 de mar. de 2011
Respostas 5
Participantes 4