private void ConsultaBDNaoConformidadeSelect() {

        int idFuncionario = 0;
        String dataNaoConform = "";
        String ocorrencia = "";
        String medidaCorrecti = "";

        String resultado = "NC";
        String nomefuncionario = "";

        String correctiva = "N"; //PARA SABERMOS QUAL SAO AS QUE AINDA ANO TEM MEDIDAS CORRECTIVAS

        int idFuncionarioResponsavel = 0;
        String nomeFuncionarioResponsavel = "";

        CONTA_LINHAS_NAOCONFORMIDADES = 0;
        model = (DefaultTableModel) jTableNaoConformidades.getModel();

        //VERIFICAR QUAL O ID DA SECÇÃO SELECCIONADA
        String comboPesquisa = jComboBoxSeccao.getSelectedItem().toString();
        String nomeColuna = "";

        String nomeTabela = ""; //NOME DA TABELA ONDE VAMOS PESQUISAR O ID

        if (comboPesquisa.equals("ENTRADA")) {
            nomeTabela = "ENTRADA";
            nomeColuna = "LOTEORIGEM";
        } else if (comboPesquisa.equals("EQUIPAMENTO")) {
            nomeTabela = "EQUIPAMENTO";
            nomeColuna = "NOME";
        } else if (comboPesquisa.equals("CONT. PRAGAS")) {
            nomeTabela = "INSECTOCACADORES";
            nomeColuna = "NOME";
        } else if (comboPesquisa.equals("OUTROS")) {
            nomeTabela = "CONTROLORESULTADOS";
            nomeColuna = "OUTROS";
        }

        System.out.println("\n\nDADOS NAO CONFORMIDADE");
        System.out.println("Nome tabela : " + nomeTabela);
        System.out.println("Nome coluna : " + nomeColuna);
        System.out.println("Seleccionada: " + secçãoControloResultadoSeleccionada);

        //LIGAÇÃO PARA NOS DAR OS ID DO QUE ESTAMOS A SELECIONAR
        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
        } catch (ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
            System.out.println("O driver expecificado nao foi encontrado.");
        }

        try {
            con = DriverManager.getConnection(url);

            String sql = "select * from " + nomeTabela + " WHERE " + nomeColuna + "= '" + secçãoControloResultadoSeleccionada + "'";
            System.out.println("select * from " + nomeTabela + " WHERE " + nomeColuna + "= '" + secçãoControloResultadoSeleccionada + "'");

            PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
            ResultSet rs = st.executeQuery();

            while (rs.next()) {

                //VERIFICAR QUAL A COLUNA 
                if (!nomeColuna.equals("OUTROS")) {
                    idControloResultadosID = rs.getInt("ID" + nomeTabela);
                    System.out.println("ID CONTROLO : " + idControloResultadosID);
                } else {
                    idControloResultadosID = rs.getInt("IDCONTRESULTADOS");
                    System.out.println("ID CONTROLO : " + idControloResultadosID);
                }

            }
            st.close();
            con.close();
        } catch (SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }

        /* PESQUISAR CONTROLO RESULTADO COM O DEVIDO CAMPOS, MSMO QUE UM FUNCIONARIO TENHA MAIS DO QUE UM CONTROLO*
         * ESTE CONTROLO SO DIZ RESPEITO AO SELECCIONADO*/
        //ACTUALIZAR O NOME DA COLUNA ONDE VAMOS PESQUISAR
        if (nomeTabela.equals("ENTRADA")) {
            nomeColuna = "IDENTRADA";
        } else if (nomeTabela.equals("EQUIPAMENTO")) {
            nomeColuna = "IDEQUIPAMENTO";
        } else if (nomeTabela.equals("CONT. PRAGAS")) {
            nomeColuna = "IDINSECTOCACADORES";
        } else if (nomeTabela.equals("CONTROLORESULTADOS")) {
            nomeColuna = "OUTROS";
        }

        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
        } catch (ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
            System.out.println("O driver expecificado nao foi encontrado.");
        }

        try {
            con = DriverManager.getConnection(url);
            String nomeTabela2 = "CONTROLORESULTADOS";

            String sql = "SELECT * FROM " + nomeTabela2 + " WHERE IDFUNCIONARIO=" + idFuncionarioNaoConformidade + " AND " + nomeColuna + "=" + idControloResultadosID + " "
                    + "AND DATA='" + dataControloResultadoSeleccionada + "' AND RESULTADO='" + resultado + "'";

            System.out.println("\n\nSELECT * FROM " + nomeTabela2 + " WHERE IDFUNCIONARIO=" + idFuncionarioNaoConformidade + " AND " + nomeColuna + "=" + idControloResultadosID + " "
                    + "AND DATA='" + dataControloResultadoSeleccionada + "' AND RESULTADO='" + resultado + "'\n\n");

            PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
            ResultSet rs = st.executeQuery();

            while (rs.next()) {
                //GUARDAR O ID DO CONTROLO RESULTADO, PARA PESQUISAR NAS NAO CONFORMIDADES

                //VAMSO TER  COLOCAR NA VARIVELL GLOBAL O DESCRIÇÃO DO PROBLEMA
                observacaoDoControloResultadoParaANC = rs.getString("DESCRICAO");

                //FAZER PESQUISA NA TABELA DE NAO CONFORMIDADES
                Connection con2 = DriverManager.getConnection(url);
                String nomeTabela3 = "NAOCONFORMIDADES";
                String sql2 = "select * from " + nomeTabela3 + " where IDCONTRESULTADOS=" + idControloResultadosParaPesquisarNConformidade + " and CORRECTIVA='" + correctiva + "'";

                System.out.println("\n\nselect * from " + nomeTabela3 + " where IDCONTRESULTADOS=" + idControloResultadosParaPesquisarNConformidade + " and CORRECTIVA='" + correctiva + "'\n\n");

                PreparedStatement st2 = (PreparedStatement) con2.prepareStatement(sql2);
                ResultSet rs2 = st2.executeQuery();

                while (rs2.next()) {

//                    idNaoConformidade = rs2.getInt("IDNAOCONF");
//                    idContResultado = rs2.getInt("IDCONTRESULTADOS");
                    idFuncionario = rs2.getInt("IDFUNCIONARIO");
                    nomefuncionario = selectString("FUNCIONARIO", "IDFUNCIONARIO", idFuncionario, "NOME");

                    dataNaoConform = rs2.getString("DATANAOCONFORMIDADE");
                    ocorrencia = rs2.getString("OCORRENCIA");
                    medidaCorrecti = rs2.getString("MEDIDACORRECTIVA");

                    idFuncionarioResponsavel = rs2.getInt("IDFUNCIONARIOMEDIDACORRECTIVA");
                    nomeFuncionarioResponsavel = selectString("FUNCIONARIO", "IDFUNCIONARIO", idFuncionarioResponsavel, "NOME");

                    model.addRow(new Object[]{nomefuncionario, dataNaoConform, ocorrencia, medidaCorrecti, nomeFuncionarioResponsavel});

                    CONTA_LINHAS_NAOCONFORMIDADES++;
                    //idContResultadosUltimo = idContResultado;
                }
                st2.close();
                con2.close();

            }

            st.close();
            con.close();
        } catch (SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }

        //VERIFICAR SE LINHA SELECCIONA CONTEM ALGUMA NAO CONFORMIDADE
        if (CONTA_LINHAS_NAOCONFORMIDADES == 0) {

            //VERIFICAR SE A MEDIDA CORRECTIVA
            if (mediaCorrectivaUltima == false) {

                //PERGUNTAR SE DESEJA ADICIONAR UMA NOVO NC OU SE DESEJA ALTERAR O RESULTA DO CONTROLO PARA CONFORME
                int resultNaoConformidade = JOptionPane.showConfirmDialog(jDialogConsultarControlos, "Linha Selecciona não contem Nehuma Não Conformidade Registada!\n Deseja Atualizar o Resultado do Controlo?", null, JOptionPane.YES_NO_OPTION);

                if (resultNaoConformidade == JOptionPane.YES_OPTION) {
                    //ATUALIZAR RESULTADO DO CONTROLO
                    jDialogMedidasCorrectiva.setVisible(false);
                    try {
                        Class.forName("org.apache.derby.jdbc.ClientDriver");
                    } catch (ClassNotFoundException e) {
                        System.err.print("ClassNotFoundException: ");
                        System.err.println(e.getMessage());
                        System.out.println("O driver expecificado nao foi encontrado.");
                    }

                    try {
                        con = DriverManager.getConnection(url);
                        String nomeTabela2 = "CONTROLORESULTADOS";
                        String sql = "UPDATE " + nomeTabela2 + " SET RESULTADO='C' WHERE IDCONTRESULTADOS=" + idControloResultadosParaPesquisarNConformidade;

                        PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
                        st.executeUpdate();

                        //MENSAGEM A CONFIRMAR UPDATE
                        JOptionPane.showMessageDialog(null, "RESULTADO ACTUALIZADO COM SUCESSO ! ");
                        LimpaTabelaConsultaControloResultados();

                        st.close();
                        con.close();
                    } catch (SQLException ex) {
                        System.err.println("SQLException: " + ex.getMessage());
                    }

                } else {
                    //PERGUNTAR SE QUER ADICIONAR UM NOVO CONTROLO
                    int resultNovaNaoConformide = JOptionPane.showConfirmDialog(jDialogConsultarControlos, "Deseja Adicionar uma Não Conformide ?", null, JOptionPane.YES_NO_OPTION);

                    if (resultNovaNaoConformide == JOptionPane.YES_OPTION) {

                        /*passar o IDCONTROLORESULTADO  e IDFUNCIONARIO pra a nova Não Conformidade
                         *que sao as variaveis globais
                         * idControloResultadosID
                         * idFuncionarioNaoConformidade*/
                        LimpaCamposNovaNaoConformidade();
                        //escrever funcionario na label 
                        jLabelFuncionarioLogin4.setText("" + NomeFuncionarioLogin);

                        //PASSAR OS DADOS PARA A PARTE JA JANELA QUE NOS INFORMA DE QUAL É O CONTROLO QUE TEMOS SELECCIONADO                        
                        jTextFieldVerSeccaoDoCR.setText(seccaoCRparaNC);
                        jTextAreaProblemadoControlo.setText(problemaCRparaNC);

                        //MOSTRAR A JANELA
                        jDialogNaoConformidades.setLocationRelativeTo(this);
                        jDialogNaoConformidades.setVisible(true);

                        //ler funcionarios para a combo box funcionario responsavel
                        LerBDFuncionario(jComboBoxNaoConformidadeFuncionarioResponsav);
                    }

                }

            }//fechar o boolean

        } else {
            //MOSTRAR JANELAS DE NÃO CONFORMIDADES
            jDialogConsultaNaoConformidades.setLocationRelativeTo(this);
            jDialogConsultaNaoConformidades.setVisible(true);

            //PASSAR OS DADOS PARA A PARTE JA JANELA QUE NOS INFORMA DE QUAL É O CONTROLO QUE TEMOS SELECCIONADO                        
            jTextFieldVerSeccaoDoCR.setText(seccaoCRparaNC);
            jTextAreaProblemadoControlo.setText(problemaCRparaNC);

        }

       // jDialogNaoConformidades.setVisible(false);
        System.out.println("\n\n******* CONTROLO RESULTADO SELECIONAR LINHA");
        System.out.println("NOME TABELA PESQUISA : " + nomeTabela);
        System.out.println("NOME COLUNA PESQUISA : " + nomeColuna);
        System.out.println("VALOR PESQUISA : " + secçãoControloResultadoSeleccionada);
        System.out.println("ID -> " + idControloResultadosID);
        System.out.println("*********************************************************");
        System.out.println("---- SELECT PESQUISA CONTROLO RESULTADO");
        System.out.println("FUNCIONARIO : " + idFuncionarioNaoConformidade);
        System.out.println("ID PESQUISA : " + idControloResultadosID);
        System.out.println("DATA : " + dataControloResultadoSeleccionada);
        System.out.println("RESULTADO : " + resultado);
        System.out.println("*********************************************************");
        System.out.println("--> DADOS PARA PESQUISAR NAO CONFORMIDADE");
        System.out.println("ID CONT. RESULTADO : " + idControloResultadosParaPesquisarNConformidade);
        System.out.println("*********************************************************");
        System.out.println("--> NUMERO DE NAO CONFORMIDADES");
        System.out.println("Nº de LINHAS : " + CONTA_LINHAS_NAOCONFORMIDADES);
        System.out.println("ID A ENCONTRAR : " + idControloResultadosParaPesquisarNConformidade);
        System.out.println("CORRECTIVA : " + correctiva);
    }