Doubt call method with If Java

Asked

Viewed 151 times

1

Well, I’m doing a college project and I’m starting now in java, the question is this, I have 2 tables in sql server and 2 distinct classes in java, which would be physical person and juridical person, the problem is this, I’m trying to create an if Else, that captures a field called tipo_client, and that it defines where the data would be entered, but I’m always missing in Else. Ps: The juridical person Method is in another class, help Attica if possible. Follow the code below

if (pessoafisica.getTipo_cliente().trim().equals("Pessoa Fisica")) {
Connection conn = conectarPrepareStatment();
//instrução Sql para inserir o cliente no banco de dados
String sql = "INSERT INTO PessoaFisica (cpf, rg, nome, rua, bairro, cidade, uf, cep, telefone, sexo, data_nascimento, id_fun)";
sql += "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
//preenchendo os valores
stmt.setString(1, pessoafisica.getCpf());
stmt.setString(2, pessoafisica.getNome());
stmt.setString(3, pessoafisica.getRg());
stmt.setString(4, pessoafisica.getRua());
stmt.setString(5, pessoafisica.getBairro());
stmt.setString(6, pessoafisica.getCidade());
stmt.setString(7, pessoafisica.getUf());
stmt.setString(8, pessoafisica.getCep());
stmt.setString(9, pessoafisica.getTelefone());
stmt.setString(10, pessoafisica.getSexo());
stmt.setString(11, pessoafisica.getData_nascimento());
stmt.setObject(12, pessoafisica.getFuncionario().getId());
//executando
stmt.execute();
stmt.close();
//encerrando a conexão
desconectar();
} else {

And Nesse Else I would like it to be "called" The juridical person method, which is in the juridical person data class, but I’m not getting.

2 answers

1

I am assuming that getTipo_client returns "Legal Person", if it is different, for example, have accent, please change. Connection Conn = connectPrepareStatment(); String sql = null;

            if (pessoafisica.getTipo_cliente().trim().equals("Pessoa Fisica")) {

                    //instrução Sql para inserir o cliente no banco de dados
                    sql = "INSERT INTO PessoaFisica (cpf, rg, nome, rua, bairro, cidade, uf, cep, telefone, sexo, data_nascimento, id_fun)";
                    sql += "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                    PreparedStatement stmt = conn.prepareStatement(sql);
                    //preenchendo os valores
                    stmt.setString(1, pessoafisica.getCpf());
                    stmt.setString(2, pessoafisica.getNome());
                    stmt.setString(3, pessoafisica.getRg());
                    stmt.setString(4, pessoafisica.getRua());
                    stmt.setString(5, pessoafisica.getBairro());
                    stmt.setString(6, pessoafisica.getCidade());
                    stmt.setString(7, pessoafisica.getUf());
                    stmt.setString(8, pessoafisica.getCep());
                    stmt.setString(9, pessoafisica.getTelefone());
                    stmt.setString(10, pessoafisica.getSexo());
                    stmt.setString(11, pessoafisica.getData_nascimento());
                    stmt.setObject(12, pessoafisica.getFuncionario().getId());
            } else if (pessoafisica.getTipo_cliente().trim().equals("Pessoa Juridica")) {
                    Connection conn = conectarPrepareStatment();
                    //instrução Sql para inserir o cliente no banco de dados
                    String sql = "INSERT INTO PessoaJuridica (campos da tabela)";
                    sql += "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                    PreparedStatement stmt = conn.prepareStatement(sql);
                    //preenchendo os valores
                    stmt.setString(...)
                    //preencha os campos finais
            }
            //executando
            stmt.execute();
            stmt.close();
            //encerrando a conexão
            desconectar();

Another way is to export the kernel for inserting functions.

            if (pessoafisica.getTipo_cliente().trim().equals("Pessoa Fisica")) {

                inserirPessoaFisica(cpf, rg, nome, rua, bairro, cidade, uf, cep, telefone, sexo, data_nascimento, id_fun);
            } else if (pessoafisica.getTipo_cliente().trim().equals("Pessoa Juridica")) {
                inserirPessoaJuridica(campos de pessoa juridica);
            } 


            public void inserirPessoaFisica(String cpf , String rg, String nome, String rua, String bairro, 
                String cidade, String uf, String cep, String telefone, String sexo, String data_nascimento, 
                Object id_fun) throws Exception
                {
                    Connection conn = conectarPrepareStatment(); 

                    //instrução Sql para inserir o cliente no banco de dados
                    String sql = "INSERT INTO PessoaFisica (cpf, rg, nome, rua, bairro, cidade, uf, cep, telefone, sexo, data_nascimento, id_fun)";
                    sql += "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                    PreparedStatement stmt = conn.prepareStatement(sql);
                    //preenchendo os valores
                    stmt.setString(1, pessoafisica.getCpf());
                    stmt.setString(2, pessoafisica.getNome());
                    stmt.setString(3, pessoafisica.getRg());
                    stmt.setString(4, pessoafisica.getRua());
                    stmt.setString(5, pessoafisica.getBairro());
                    stmt.setString(6, pessoafisica.getCidade());
                    stmt.setString(7, pessoafisica.getUf());
                    stmt.setString(8, pessoafisica.getCep());
                    stmt.setString(9, pessoafisica.getTelefone());
                    stmt.setString(10, pessoafisica.getSexo());
                    stmt.setString(11, pessoafisica.getData_nascimento());
                    stmt.setObject(12, pessoafisica.getFuncionario().getId());

                    //executando
                    stmt.execute();
                    stmt.close();
                    //encerrando a conexão
                    desconectar();
                }

                public void inserirPessoaJuridica(....) throws Exception
                {
                    Connection conn = conectarPrepareStatment(); 

                    //instrução Sql para inserir o cliente no banco de dados
                    String sql = "INSERT INTO PessoaJuridica (....nomes de campos....)";
                    sql += "VALUES (...? para cada campo...)";
                    PreparedStatement stmt = conn.prepareStatement(sql);
                    //preenchendo os valores dos campos
                    stmt.setString(1, ....

                    //executando
                    stmt.execute();
                    stmt.close();
                    //encerrando a conexão
                    desconectar();
                }

            }

1

Imagining your class is called PessoaJuridica and that it contains the method inserirDados(), within the else you would do so:

PessoaJuridica pj = new PessoaJuridica() ; pj.inserirDados();

Is that your doubt?

  • Apparently I was able to solve it, it was like this: } Else { Personal customersjuridical data = new Personal customersjuridical data(); personal data.cadastrarClientePJuridica(personal juridical);

  • Yes, it reflects the example I gave.

  • Now another problem is occurring, when I open the constructor, and I pull the method, it wants to generate another method but using as parameter data that comes from the data class and not from the basic class.

  • Create a new question with your question and, most importantly, put the code you are using and specify where and what the error is, ok?

Browser other questions tagged

You are not signed in. Login or sign up in order to post.