ja tentei de varios modos alguem pode me dizer como?
ate procurei ja net tentei e nao funcionou…a tabela na interface grafica continua vazia…help please…
ja tentei de varios modos alguem pode me dizer como?
ate procurei ja net tentei e nao funcionou…a tabela na interface grafica continua vazia…help please…
Posta seu código para podermos ajuda-lo melhor!
vlw
package Pacote_Consulta;
import Beans.Consulta_geral;
import java.sql.*;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import series_beta_03.Banco;
/**
*
* @author Jefferson
*/
public class Consulta extends javax.swing.JDialog {
private boolean saveNeeded;
Banco banco = new Banco();
/** Creates new form Consulta */
public Consulta(java.awt.Frame parent, boolean modal) {
super(parent, modal);
preencheTabela();
initComponents();
}
public boolean isSaveNeeded() {
return saveNeeded;
}
private void setSaveNeeded(boolean saveNeeded) {
if (saveNeeded != this.saveNeeded) {
this.saveNeeded = saveNeeded;
firePropertyChange("saveNeeded", !saveNeeded, saveNeeded);
}
}
public void preencheTabela(){
int i = 0;
banco.connection();
Statement stmt = null;
Connection conn = null;
masterTable_Geral = new JTable();
DefaultTableModel modelo = new DefaultTableModel();
masterTable_Geral.setModel(modelo);
Vector <Consulta_geral> r = new Vector();
Consulta_geral consulta = new Consulta_geral();
String query = "select CODIGO_DVD, nome_dvd, serie, temporada, Dados from dvd inner join DADOS_GRAVADOS on id_dados = codigo_dados inner join temporada on codigo_temporada = id_temporada inner join serie on codigo_serie = id_series where CODIGO_DVD =1 order BY codigo_dados";
try {
stmt = banco.conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
consulta.setId_Dvd(rs.getObject(1));
consulta.setNome_dvd(rs.getObject(2));
consulta.setSERIE(rs.getObject(3));
consulta.setSeason(rs.getObject(4));
consulta.setDADOS(rs.getObject(5));
r.add(i, consulta);
i++;
}
try{
//modelo.addRow(new Object[]{null,null,null,null,null});// nao funcionou
}
//modelo.setValueAt(r.elementAt(0).getId_Dvd(), 1, 0);// nem esse
//modelo.setValueAt(r.elementAt(0).getNome_dvd(), 1, 1);
//modelo.setValueAt(r.elementAt(0).getSERIE(), 1, 2);
// modelo.setValueAt(r.elementAt(0).getSeason(), 1, 3);
// modelo.setValueAt(r.elementAt(0).getDADOS(), 1, 4);
catch(Exception exx){
System.out.println( exx.getMessage());
exx.fillInStackTrace();
}} catch(SQLException e){
System.out.println("Erro no processamento Sql"+ e.getMessage());
} finally {
try {
if(stmt != null)
stmt.close();
} catch (SQLException e){
System.out.println("Erro ao tentar fechar o stmt: " + e.getMessage());
}
}
}
ta tudo funcionando certinho soh nao add na jtable
no final do método public void preencheTabela(){
você coloca add(Nomedatabela);
vlw
Primeiro, aprenda a criar seu proprio TableModel pelo link da minha assinatura.
Segundo, sua lista vai sempre ter n referencias ao ultimo objeto. Se voce nao der new a cada volta do result set voce sempre estara setando os valores no memso registro, que é sempre adicionado em posições diferentes do Vector.
Terceiro, não use Vector ele é depreciado desde os primordios do Java, use o List invés disso.
Acho que já falei para ele não usar DefaultTableModel em outro tópico… tem gente que gosta mesmo de sofrer…
Ainda nao funciona ... pode ver oque esta errado ¬¬' , mudei tambem para list como recomendado
mais quanto fazer um abstract table nao entendi como fazer ...
sou muito leigo em programação java sou melhor um bd... nao é questao de sofrer e sim que nao tenho a menor noção como fazer
estou utilizando o netbeans para fazer a programação automatica por isso do default table mode
mais valeu mesmo assim XD
public void preencheTabela(){
int i = 0;
banco.connection();
Statement stmt = null;
Connection conn = null;
masterTable_Geral = new JTable();
DefaultTableModel modelo = new DefaultTableModel();
masterTable_Geral.setModel(modelo);
List <Consulta_geral> r = new ArrayList();
Consulta_geral consulta = new Consulta_geral();
String query = "select CODIGO_DVD, nome_dvd, serie, temporada, Dados from dvd inner join DADOS_GRAVADOS on id_dados = codigo_dados inner join temporada on codigo_temporada = id_temporada inner join serie on codigo_serie = id_series where CODIGO_DVD =1 order BY codigo_dados";
//String query = "Select categoria from Categoria";
try {
stmt = banco.conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
consulta.setId_Dvd(rs.getObject(1));
consulta.setNome_dvd(rs.getObject(2));
consulta.setSERIE(rs.getObject(3));
consulta.setSeason(rs.getObject(4));
consulta.setDADOS(rs.getObject(5));
r.add(i, consulta);
i++;
}
try{
modelo.addRow(new Object[]{r.get(0).getId_Dvd(),r.get(0).getNome_dvd(),r.get(0).getSERIE(),r.get(0).getSeason(),r.get(0).getDADOS()});
//modelo.setValueAt(r.elementAt(0).getId_Dvd(), 1, 0);
//modelo.setValueAt(r.elementAt(0).getNome_dvd(), 1, 1);
//modelo.setValueAt(r.elementAt(0).getSERIE(), 1, 2);
// modelo.setValueAt(r.elementAt(0).getSeason(), 1, 3);
// modelo.setValueAt(r.elementAt(0).getDADOS(), 1, 4);
} catch(Exception exx){
System.out.println( exx.getMessage());
}} catch(SQLException e){
System.out.println("Erro no processamento Sql"+ e.getMessage());
} finally {
try {
if(stmt != null)
stmt.close();
} catch (SQLException e){
System.out.println("Erro ao tentar fechar o stmt: " + e.getMessage());
}
}
add(masterTable_Geral);
}
Esse não era o problema. Isso era apenas uma dica. Veja como criar seu model que voce vai resolver seu problema.
E mesmo com essa lixo de TableModel que voce esta usando ainda esta errado.
Repare que o método addRow só é chamado uma unica vez, e é depois do while que tem o problema de deixar todos os dados na mesma instancia em uma lista cheia de dados duplicados.
se reparar os na string do banco ela é chamada de apenas uma linha da tabela … é apenas um esboço para que possa depois finalizar
Como voce quer ver o resultado certo então?
Termina isso ai que vai mostrar.
Se eu conseguisse eu terminaria, estou pedindo ajuda justamente para terminar … quando digo esboço quis dizer que nao ta inserindo todas as linhas que quero mais senao ta inserindo apenas uma linha , porque iria inserir mais de uma?