Estou fazendo uma consulta para me trazer todos os dados desde que a marca seja Ex: ‘Nike’;
A consulta é realizada mas não sei como mostrar os dados, como faço isso ? EX: chamar e mostrar em um jtable
Vc tem que pegar o valor da coluna através de um ResultSet que vai receber sua consulta feita
pelo o Statement
//o Statement deve receber sua conexão do bancoStatementst=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetrs=st.executQuery("select * from produtoss where marca = 'Nike'");//cria um modelo da sua JTable para que vc possa adiconar os produtos encontradosDefaultTableModelmodelo=(DefaultTableModel)JTable1.getModel();modelo.setRowCount(0);//Vc deve criar um array com a qtde de colunas que tem a sua JTable e depois fazer as colunas receber os seus respectivos valores String[]linha=newString[2];while(rs.next()){//O rs.getString("") ; retorna o valor que esta no seu banco de dados deve-se passa como parametro o nome da COLUNA que esta no seu bancodedadoslinha[0]=rs.getString("NOME");linha[1]=rs.getString("PRECO");// o addRow adiciona uma nova linha na sua JTable com os valores que foram pegos na sua consultamodelo.addRow(linha);}
Bom é isso espero que isto te ajude
Depois posta aqui dizendo se deu certo
flw
hodrigohamalho
Acho que você deveria pesquisar um pouco sobre JDBC.
esse foi o primeiro que achei, mas concerteza tem vários mais completos.
progJava
Tentei assim só que ele da o erro resultser não esta posicionado corretamente o que será?
[code]publicvoidchama(){try{Class.forName("org.postgresql.Driver").newInstance();Connectionconn=DriverManager.getConnection("jdbc:postgresql://localhost/estoque:","postgres","1212");Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetrs=stmt.executeQuery("select * from produtoss where marca = 'Nike'");//criaummodelodasuaJTableparaquevcpossaadiconarosprodutosencontradosjTable1.getColumnModel().getColumn(0).setPreferredWidth(20);jTable1.getColumnModel().getColumn(1).setPreferredWidth(50);jTable1.getColumnModel().getColumn(2).setPreferredWidth(50);jTable1.getColumnModel().getColumn(3).setPreferredWidth(15);jTable1.getColumnModel().getColumn(4).setPreferredWidth(25);jTable1.getColumnModel().getColumn(5).setPreferredWidth(25);jTable1.getColumnModel().getColumn(6).setPreferredWidth(50);jTable1.getColumnModel().getColumn(7).setPreferredWidth(25);jTable1.getColumnModel().getColumn(8).setPreferredWidth(30);jTable1.getColumnModel().getColumn(9).setPreferredWidth(50);jTable1.getColumnModel().getColumn(10).setPreferredWidth(50);jTable1.getColumnModel().getColumn(11).setPreferredWidth(50);DefaultTableModelmodelo=(DefaultTableModel)jTable1.getModel();modelo.setRowCount(0);//VcdevecriarumarraycomaqtdedecolunasquetemasuaJTableedepoisfazerascolunasreceberosseusrespectivosvaloresString[]linha=newString[2];while(rs.next()){modelo.addRow(newObject[]{carac.resultset.getString("codigo"),carac.resultset.getString("codp"),carac.resultset.getString("marca"),carac.resultset.getString("modelo"),carac.resultset.getString("numero"),carac.resultset.getString("cor"),carac.resultset.getString("hora"),carac.resultset.getString("dat"),carac.resultset.getString("quant"),carac.resultset.getString("precors"),carac.resultset.getString("custcompra"),carac.resultset.getString("lucro")});rs.next();}//Ors.getString("");retornaovalorqueestanoseubancodedadosdeve-sepassacomoparametroonomedaCOLUNAqueestanoseulinha[0]=rs.getString("codigo");linha[1]=rs.getString("marca");linha[2]=rs.getString("modelo");linha[3]=rs.getString("numero");linha[4]=rs.getString("cor");linha[5]=rs.getString("dat");linha[6]=rs.getString("locall");linha[7]=rs.getString("quant");linha[8]=rs.getString("precors");linha[9]=rs.getString("codp");linha[10]=rs.getString("descri");linha[11]=rs.getString("fornec");//oaddRowadicionaumanovalinhanasuaJTablecomosvaloresqueforampegosnasuaconsultamodelo.addRow(linha);}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Erro"+erro);}}}
Vinny
Bom um erro que eu vi aqui foi esse
String[]linha=newString[2];
Vc deve instaciar com 12 pelo que eu vi
vc quer pegar o valor das 12 colunas do seu banco de dados
e eu acredito que isso aqui tb não possa ser feito inclusive dentro do while!
Vc tem que atribuir os valores dentro do WHILE
se tiver fora ele so vai pegar 1 valor mesmo
se tiver dentro do while ele vai pega tudo que foi encontrado para a consulta
E caso mesmo assim não esteja voltando tudo verifica a sua consulta
o banco de dados é case sensitive tem que se tratar isto
por exemplo se tiver gravado Nike e vc procurar por nike
ele nao vai achar
da uma olhada nisto!
progJava
Acontece que ele chama todos os dados , só que ele esconde um ou seja o primeiro .Ex: Ele Chama 5 linhas e mostra as quatro últmas linhas. (a linha 1 ele esconde) e mostra a linhas 2,3,4,5