• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Aqua Costa

Java + MySQL Error -- [RESOLVIDO]

5 mensagens neste tópico

consegui criar um programa que me liga a uma base de dados...

o problema é que ao utilizar noutro PC não consegue ligar à base de dados, e recebo o erro java.mysql.jdbc.Driver...

alguém sabe onde está o erro? eu acho que é qualquer coisa com o library da Driver...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se calhar o outro pc n tem essa biblioteca e n a tás a importar no projecto.

No entanto dá mais informações sobre o problema p ser possivel ajudar-te melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

esta é a class que criei...

import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

/**
*
* @author Tiago José Vieira Pires Costa
*/
public class DBConnector{

    public DBConnector(JFrame frame, String username, String pass, JLabel info) {
        this.username = username;
        this.password = pass;
        this.frame = frame;
        this.info = info;
        info.setText("Não está conectado à base de dados.");
    }

    public void connect()
    {
        int ask = JOptionPane.showConfirmDialog(frame, "Têm a certeza que deseja ligar-se à base de dados?", "", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
        if(ask == 0)
        {
            info.setText("A conectar à base de dados...");
            connecting();
        }
    }

    public void connecting()
    {
        try {
            String userName = "oculto";
            String passWord = "oculto";
            String url = "jdbc:mysql://db4free.net:3306/oculto";

            Class.forName("com.mysql.jdbc.Driver").newInstance();

            conn = DriverManager.getConnection(url, userName, passWord);

            JOptionPane.showMessageDialog(frame, "Ligação à base de dados estabelecida.", "", JOptionPane.INFORMATION_MESSAGE);
            info.setText("Está conectado à base de dados.");
            connected = true;
        } catch (Exception e) {
            JOptionPane.showMessageDialog(frame, "Impossivél ligar à base de dados. Ligação terminada.", "", JOptionPane.ERROR_MESSAGE);
            JOptionPane.showMessageDialog(frame, e.getMessage(), "", JOptionPane.ERROR_MESSAGE);
            connected = false;
            if (conn != null) {
                try {
                    conn.close();
                    JOptionPane.showMessageDialog(frame, "Ligação à base de dados terminada.", "", JOptionPane.INFORMATION_MESSAGE);
                    info.setText("Não está conectado à base de dados.");
                } catch (Exception ex) { /* ignore close errors */ }
            }
        }
    }

    public void disconnect()
    {
        if(conn != null)
        {
            try {
                conn.close();
                conn = null;
                connected = false;
                JOptionPane.showMessageDialog(frame, "Ligação à base de dados terminada.", "", JOptionPane.INFORMATION_MESSAGE);
                info.setText("Não está conectado à base de dados.");
            } catch (Exception ex) { /* ignore close errors */ }
        }
    }
    

    public boolean validateUser(String username, String password)
    {
        try {
            Statement stm = conn.createStatement();
            stm.executeQuery("SELECT * FROM users");
            rs = stm.getResultSet();

            while(rs.next())
            {
                if(rs.getString("username").equals(username))
                {
                    if(rs.getString("password").equals(password))
                    {
                        validated = true;
                    } else
                    {
                        validated = false;
                    }
                }
            }
        } catch (SQLException ex) {
            System.err.print("Error");
        }
        return validated;
    }


    Connection conn = null;

    ResultSet rs;

    boolean connected = false;
    boolean validated = false;
    String username;
    String password;
    JFrame frame;
    JLabel info;
}

como já disse no meu pc funciona totalmente...  mas ao enviar para os meu amigos por mail para eles testarem... todos dizem que não funciona...

Nota: só-lhes enviei o ficheiro .jar do programa...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Falta o jar com a Driver do mysql

pois, foi a 1ª vez que fiz um programa com uma lib e não tinha reparado na pasta lib ao lado do jar do programa lol

de qualquer forma, obrigado aos dois

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora