Alterar atributos da classe de Conexao via Interface (jFrame)

Java

25/12/2017

Olá pessoal,

Criei num projeto um JFrame chamado (DadosConfiguracoesDB) onde possuí jTextFields: enderecoDB, nomeDB, usuarioDB, senhaDB. Meu propósito é alterar a conexão do banco, via interface, e não alterar a classe de Conexão.
Estou transportando esses dados com um Beans (ConfiguracoesDadosBeans), ele chega até no método receberConfgsDB que criei na classe Conexao, porém, a minha dificuldade é que preciso que ele entre no método Connection (não sei se é possível) para receber as configurações digitadas no jFrame, tentei de algumas formas, mas sempre ele retorna os valores null.

[code=java]package Persistência;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;
import Beans.ConfiguracoesDBBeans;
import Interface.DadosConfiguracoesDB;
import Interface.EmprestarMidia;
import java.sql.Array;

/**
 *
 * @author user
 */
public class Conexao {
    
    private Connection conectar;
    private Connection conn;
    private String recebeEnderecoDB;
    private String recebeNomeDB;
    private String recebeUsuarioDB;
    private String recebeSenhaDB;
    
    ConfiguracoesDBBeans configuracoesDBBeansEnvia = new ConfiguracoesDBBeans();
    
    public Conexao(){

    }
    public void recebeConfgsDB(ConfiguracoesDBBeans configuracoesDBBeans){
        configuracoesDBBeansEnvia = configuracoesDBBeans;
        /*recebeEnderecoDB = configuracoesDBBeans.getEnderecoDB();
        recebeNomeDB = configuracoesDBBeans.getNomeDB();
        recebeUsuarioDB = configuracoesDBBeans.getUsuario();
        recebeSenhaDB = configuracoesDBBeans.getSenha();*/
        Conexao conexao = new Conexao();
        conexao.enviaConfgsDB();
        //conexao.atualizaConfgsDB(recebeEnderecoDB,recebeNomeDB,recebeUsuarioDB,recebeSenhaDB);
    }
    public ConfiguracoesDBBeans enviaConfgsDB(){
        ConfiguracoesDBBeans configuracoesDBBeansEnviaConfgs = new ConfiguracoesDBBeans();
        configuracoesDBBeansEnviaConfgs = configuracoesDBBeansEnvia;
        return configuracoesDBBeansEnviaConfgs;
    }
    public Connection ConectaBanco(){
        Conexao conexao = new Conexao();
        ConfiguracoesDBBeans configuracoesDBBeansRecebe = new ConfiguracoesDBBeans();
        configuracoesDBBeansRecebe = conexao.enviaConfgsDB();
        String usuarioDB = configuracoesDBBeansRecebe.getUsuario();
        String senhaDB = configuracoesDBBeansRecebe.getSenha();
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            conectar = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=VL",usuarioDB,senhaDB);
            
        }catch(Exception ex){
            JOptionPane.showMessageDialog(null,"Erro ao fazer a conexão com o banco de dados" + "\\n" +
                                                "UsuarioDB: " + usuarioDB + " | " + "SenhaDB: " + senhaDB + "\\n" +
                                                "Mensagem: " + ex.getMessage());
        }
        return conectar;
    }
    
    public Connection getConexao(){
        Connection conecta;
        Conexao conexao = new Conexao();
        conecta = conexao.ConectaBanco();
        return conecta;
    }
}
David

David

Curtidas 0

Respostas

Nelson Anjos

Nelson Anjos

25/12/2017

Olá. Desse jeito ele vai retornar nulo por que antes de return, você instanciou uma novo conecta. Você quer deixar uma opção para o usuário trocar o caminho do bd? Tem formas mais simples de fazer Isso.
GOSTEI 0
POSTAR