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
[code]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);
}[/code]
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?