Ola galera estou com um probleminha relativamente simples porem não consigo resolver…
eu tenho uma classe top component que tem um botão pesquisar para efetuar a seguinte pesquisa
if (rbSeuNumero.isSelected()) {
if (!StringUtil.isEmpty(txtSeuNumero.getText())) {
titulos = titulosDB.findBySeuNumero(new Long(txtSeuNumero.getText().trim()));
tableModel.addRow(new String[]{titulos.getSeuNumero().toString(), titulos.getNossoNumero().toString(), titulos.getMoeda(), titulos.getValorTitulo().toString(),titulos.getVencimento().toString(),/*sacado.getNomedoSacado(),*/titulos.getCarteira(),/*titulos.getStatusImpressao(),titulos.getStatusRemessas()titulos.getDataGeracao().toString()*/});
} else {
MessageUtil.informationMessage("CONSULTA_VAZIA");
}
} else {
MessageUtil.errorMessage("REQUIRED_FIELDS");
txtSeuNumero.setBorder(errorBorder);
}
Esse addRow geta os campos da grid o problema é exatamente o campo “Nome do sacado” pois todos os outros campos são da tabela “TITULOS” e apenas esse
é da tabela “SACADOS”…
Esse é o FYND BY que chama a QUERY
public Titulos findBySeuNumero(Long codigo) throws SQLException {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
Titulos titulos = null;
try {
connection = offlineDB.getConnection();
preparedStatement = connection.prepareStatement(FIND_BY_SEU_NUMERO);
preparedStatement.setLong(1, codigo);
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
titulos = new Titulos();
titulos.setSeuNumero(resultSet.getLong("TIT_NR_SEU_NUM"));
titulos.setCodigo(resultSet.getLong("SCD_ID"));
titulos.setCarteira(resultSet.getString(" CRT_ID"));
titulos.setMoeda(resultSet.getString("MOE_ID"));
titulos.setValorTitulo(resultSet.getBigDecimal("TIT_VL_VAL"));
titulos.setEspecie(resultSet.getString("ESP_ID"));
titulos.setDataEmissao(resultSet.getInt("TIT_DT_EMI"));
titulos.setVencimento(resultSet.getInt("TIT_IN_VNC"));
titulos.setValorAbatimento(resultSet.getBigDecimal("TIT_VL_ABT"));
titulos.setMulta(resultSet.getBigDecimal("TIT_PC_MLT"));
titulos.setValorMulta(resultSet.getBigDecimal("TIT_VL_MLT"));
titulos.setValorBaseDesc(resultSet.getBigDecimal("TIT_VL_BAS_DSC"));
titulos.setDesconto(resultSet.getBigDecimal("TIT_PC_DSC"));
titulos.setValorDesconto(resultSet.getBigDecimal("TIT_VL_DSC"));
titulos.setDataLimiteDesc(resultSet.getInt("TIT_DT_LMT_DSC"));
titulos.setPorDiaAntecipação(resultSet.getBigDecimal("TIT_IN_DIA_ATP"));
titulos.setInstrucao(resultSet.getString("TIT_IN_INST"));
titulos.setDiasParaProtesto(resultSet.getInt("TIT_QT_DIA_PRT"));
titulos.setJurosMes(resultSet.getBigDecimal("TIT_PC_JUR_MES"));
titulos.setDiasParaJuros(resultSet.getInt("TIT_QT_DIA_JUR"));
titulos.setValorJurosDia(resultSet.getBigDecimal("TIT_VL_JUR_DIA"));
titulos.setValorIOFMes(resultSet.getBigDecimal("TIT_VL_IOF_MES"));
titulos.setContrato(resultSet.getString("TIT_DS_CTR"));
titulos.setMensagem1(resultSet.getString("SCD_DS_MSG1"));
titulos.setMensagem2(resultSet.getString("SCD_DS_MSG2"));
titulos.setMensagem3(resultSet.getString("SCD_DS_MSG3"));
titulos.setParcelas(resultSet.getInt(" TIT_QT_PRC"));
titulos.setMensagemInterativa(resultSet.getBoolean("TIT_IN_MSG_INT"));
titulos.setUsoDoCliente(resultSet.getLong(" TIT_DS_USO_CLI"));
titulos.setNossoNumero(resultSet.getLong(" TIT_NR_NOS_NUM"));
}
} catch (SQLException e) {
Logger.getLogger("com.eversystems.offline").log(Level.SEVERE, "Erro no acesso ao banco de dados", e);
throw new SQLException(e);
} catch (DBDriverNotFoundException e) {
Logger.getLogger("com.eversystems.offline").log(Level.SEVERE, "Erro no acesso ao banco de dados", e);
} catch (DBInUseException e) {
Logger.getLogger("com.eversystems.offline").log(Level.SEVERE, "Erro no acesso ao banco de dados", e);
} catch (DBConnectionException e) {
Logger.getLogger("com.eversystems.offline").log(Level.SEVERE, "Erro no acesso ao banco de dados", e);
} catch (DBNotConfiguredException e) {
Logger.getLogger("com.eversystems.offline").log(Level.SEVERE, "Erro no acesso ao banco de dados", e);
} finally {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
}
return titulos;
}
Segue agora a respectiva QUERY
private static final String FIND_BY_SEU_NUMERO = ""
.concat("SELECT \r\n")
.concat(FIELDS)
.concat("FROM \r\n")
.concat(" TB_TITULOS \r\n")
.concat("WHERE \r\n")
.concat(" TIT_NR_SEU_NUM = ?");
A questao é como fazer com que ele chame o campo “NOME SACADO” da TABLE SACADOS …
Segue os creates das tabelas
CREATE TABLE TB_SACADOS
(
SCD_ID NUMERIC(15) NOT NULL,
SCD_CNPJ_CPF VARCHAR(15) ,
SCD_NM_FNT VARCHAR(15) ,
SCD_NM VARCHAR(45) ,
SCD_GRP CHAR(18) ,
SCD_DS_END VARCHAR(37) ,
SCD_NM_BRR VARCHAR(15) ,
SCD_CD_CEP VARCHAR(8) ,
SCD_NM_CID VARCHAR(15) ,
EST_ID VARCHAR(2) ,
SCD_CD_DDD NUMERIC(4) ,
SCD_NR_TEL NUMERIC(8) ,
SCD_NR_RML NUMERIC(4) ,
SCD_DS_EML VARCHAR(55) ,
SCD_CD_DDI_FAX NUMERIC(4) ,
SCD_CD_DDD_FAX NUMERIC(4) ,
SCD_NR_FAX NUMERIC(8) ,
SCD_NM_AVL VARCHAR(40) ,
SCD_CNPJ_CPF_AVL VARCHAR(15) ,
SCD_VL_ABT NUMERIC(10,2) ,
SCD_PC_JUR_MLT NUMERIC(4,2) ,
SCD_QT_DIA NUMERIC(3) ,
SCD_PC_IOF NUMERIC(4,2) ,
SCD_PC_DSC NUMERIC(4,2) ,
SCD_VL_DSC NUMERIC(10,2) ,
SCD_DS_MSG1 VARCHAR(40) ,
SCD_DS_MSG2 VARCHAR(40) ,
SCD_DS_MSG3 VARCHAR(40)
)
;
ALTER TABLE TB_SACADOS
ADD PRIMARY KEY (SCD_ID)
;
Segue a outra table
CREATE TABLE TB_TITULOS
(
TIT_NR_SEU_NUM VARCHAR(15) NOT NULL,
SCD_ID NUMERIC(15),
CRT_ID NUMERIC(2),
MOE_ID VARCHAR(10),
TIT_VL_VAL NUMERIC(10,2),
ESP_ID VARCHAR(2),
TIT_DT_EMI DATE,
TIT_IN_VNC VARCHAR(2),
TIT_DT_VNC DATE,
TIT_VL_ABT NUMERIC(10,2),
TIT_PC_MLT NUMERIC(4,2),
TIT_VL_MLT NUMERIC(10,2),
TIT_VL_BAS_DSC NUMERIC(10,2),
TIT_PC_DSC NUMERIC(4,2),
TIT_VL_DSC NUMERIC(10,2),
TIT_DT_LMT_DSC DATE,
TIT_IN_DIA_ATP CHAR(1),
TIT_IN_INST NUMERIC(1),
TIT_QT_DIA_PRT NUMERIC(2),
TIT_PC_JUR_MES NUMERIC(4,2),
TIT_QT_DIA_JUR NUMERIC(2),
TIT_VL_JUR_DIA NUMERIC(10,2),
TIT_VL_IOF_MES NUMERIC(10,2),
TIT_DS_CTR VARCHAR(8),
TIT_QT_PRC NUMERIC(2),
TIT_DS_MSG1 VARCHAR(40),
TIT_DS_MSG2 VARCHAR(40),
TIT_DS_MSG3 VARCHAR(40),
TIT_IN_MSG_INT CHAR(1),
TIT_DS_USO_CLI VARCHAR(25),
TIT_NR_NOS_NUM VARCHAR(9),
TIT_NR_PRC NUMERIC(2),
CNV_ID NUMERIC(8)
)
;
ALTER TABLE TB_TITULOS
ADD PRIMARY KEY (TIT_NR_SEU_NUM)
;
ALTER TABLE TB_FAIXAS_CONVENIOS
ADD FOREIGN KEY (CNV_ID) REFERENCES TB_CONVENIOS(CNV_ID)
;
ALTER TABLE TB_PARAMETROS
ADD FOREIGN KEY (CRT_ID) REFERENCES TB_CARTEIRAS(CRT_ID)
;
ALTER TABLE TB_TITULOS
ADD FOREIGN KEY (SCD_ID) REFERENCES TB_SACADOS(SCD_ID)
;
ALTER TABLE TB_TITULOS
ADD FOREIGN KEY (CRT_ID) REFERENCES TB_CARTEIRAS(CRT_ID)
;
ALTER TABLE TB_TITULOS
ADD FOREIGN KEY (MOE_ID) REFERENCES TB_MOEDAS(MOE_ID)
;
ALTER TABLE TB_TITULOS
ADD FOREIGN KEY (ESP_ID) REFERENCES TB_ESPECIES(ESP_ID)
;
ALTER TABLE TB_TITULOS
ADD FOREIGN KEY (CNV_ID) REFERENCES TB_CONVENIOS(CNV_ID)
;