TableModel mostrar Nome ao invés do código

4 respostas Resolvido
C

Bom dia,

Estou desenvolvendo um projeto, e estou com a seguinte dúvida:
Tenho duas tabelas em meu banco de dados(PostGreSql):
tabela proprietário e tabela caminhão.
Na tabela caminhão, eu gravo o código do proprietário.
Quando carrego meu TableModel, aparece o código do proprietário.
Gostaria de saber como faço para, ao invés do código, o TableModel mostrar o nome do proprietário.

Grato

4 Respostas

rmendes08
Solucao aceita

Antes de mais nada, você precisa fazer uma JOIN entre as tabelas, para ler o nome do proprietário. Depois é só implementar o TableModel de acordo.

C

Entendi.
Fiz desta maneira meu SELECT:

SELECT * FROM caminhao INNER JOIN proprietario ON(caminhao.codigo_proprietario = proprietario.codigo) ORDER BY caminhao.codigo ASC

Porém acho que estou chamando erroneamente o meu ResultSet, que está assim:

try {
conn = ConexaoPostGre.getConexao();
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
CCaminhao cp2 = new CCaminhao();
cp2.setCodigo(rs.getInt(“codigo”));
cp2.setPlaca(rs.getString(“placa”));
cp2.setDescricao(rs.getString(“descricao”));
cp2.setModelo(rs.getString(“modelo”));
cp2.setNome_Proprietario(rs.getString(“proprietario.razaosocial”));
cp2.setMarca(rs.getString(“marca”));
cp.add(cp2);
}
}

rmendes08

O ideal é listar as colunas que você precisa no SELECT, ao invés de simplesmente usar o *;

C

Amigo, obrigado pela sua ajuda, deu certo.
Realmente havia um problema no SELECT e no ResulSet.

Resolvido

Criado 13 de janeiro de 2016
Ultima resposta 13 de jan. de 2016
Respostas 4
Participantes 2