Alterar atributos da classe de Conexao via Interface (jFrame)

25/12/2017

0

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

Responder

Posts

15/11/2018

Nelson Anjos

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.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar