Ajuda Recuperar dados do banco

3 respostas
G

dae pessoal, seguinte to com problemas ao recuperar dados do banco, sou iniciante…e preciso entregar hj o trabalho da facul heh

tenho os seguintes codigos
http://www2.unijui.edu.br/~geizon.tischer/controlesoftwares.java
http://www2.unijui.edu.br/~geizon.tischer/Software.java
http://www2.unijui.edu.br/~geizon.tischer/BancoMySQL.java

quero recuperar os dados do metodo
listarSoftwares que ta na classe BancoMySQL
e listar num textarea…nao sei se tem q usar um vetor ou oq…eu soh consegui dando system.out.println dai ele imprime, falta jogar na aplicacao desktop…mas nao consegui…alguem pode me dar um help?? eh urgente…obrigado!!

3 Respostas

marllonSimoes

Acho que não entendi direito, se for pra listas em um text área, no método que listarSoftware vc pode retornar um StringBuilder

no botão que chama o envento vc faz assim…
(reapoveitei código do netbeans…

private void btn_lista_todosActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_btn_lista_todosActionPerformed
// TODO add your handling code here:
       BancoMySQL bd = new BancoMySQL();
        jtextarea.setText(bd.listarSoftwares().toString());
              
    }//GEN-LAST:event_btn_lista_todosActionPerformed

e o método listarSoftware

public StringBuilder listarSoftwares() throws Exception{
StringBuilder retorno = new StringBuilder();

            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/java", "java", "1234mudar");
            Statement stmt = con.createStatement();
            ResultSet res = stmt.executeQuery("select * from softwares order by nome asc");
            
            while(res.next())
            {
                retorno.append("Codigo: " + res.getInt("id")) ;
                retorno.append("nom: " + res.getString("nome"));
                retorno.append("fabricante": + res.getString("fabricante"));
                retorno.append("site:" + res.getString("site"));
                retorno.append("tamanho:" + res.getInt("tamanho"));
                retorno.append("valor:" +res.getInt("preco"));
                retorno.append("versao" + res.getInt("versao"));
                retorno.append("data" + res.getString("dt_instalacao"));
                retorno.append("responsavel" + res.getString("responsavel"));
            }
            
            res.close();
            stmt.close();
            return retorno;
   }

acredito que seja isso… se der erro ou não for isso que vc quer, posta isso ai de novo…

[]'s

G

valeu cara..consegui...agora soh aproveitando o topico....to precisando duma funcao pra excluir um registro do bd....

tenho assim: no arquivo controlesoftware.java
private void btn_excluirActionPerformed(java.awt.event.ActionEvent evt) {                                            
// TODO add your handling code here:
        String codigo = "";
       
        codigo = exc_codigo.getText().trim();
        
        if(codigo.length()==0){
           JOptionPane.showMessageDialog(null, "Você precisa digitar o código","Excluir Software", JOptionPane.ERROR_MESSAGE); 
           exc_codigo.grabFocus();
        }
        else {
            try{
                int op = JOptionPane.showConfirmDialog(null, "Remover o Software:  "+ codigo +"?","Excluir Software", JOptionPane.YES_NO_CANCEL_OPTION);
                BancoMySQL bd = new BancoMySQL();
                if(bd.excluir(codigo)) {
                    JOptionPane.showConfirmDialog(null, "Programa excluido com sucesso.","Excluir Software", JOptionPane.INFORMATION_MESSAGE);
                } else {
                    JOptionPane.showConfirmDialog(null, "Erro ao excluir programa.","Excluir Software", JOptionPane.ERROR_MESSAGE);
                }
            }catch(Exception e){
                e.printStackTrace();
            }
            
           }
    }

e no BancoMySQL.java

public String excluir(String codigo) throws Exception{
        try {
            String sql = "delete from softwares where id = "+codigo+"";
            Statement stmt = con.createStatement();
            stmt.executeUpdate(sql);
            stmt.close();
        }catch(SQLException e){
            e.printStackTrace();
        }
        return codigo;
    }

mas nao funciona....tem alguma sugestao ae??

marllonSimoes

cara;…; vo fica te devendo uma resposta corretissima… mas se não me engano não código não tem que ser int??

quando vc faz isso ele mostra alguma mensagem de erro??
se mostrar, posta ela ai… as vezes dá pra descobrir porque naum faz pela exception

outra coisa… vc tá retornando uma string no teu método de exclusão… e valida se é true quando vai exibri a mensagem… ql o propósito disso? pq naum faz assim

public boolean excluir(String codigo) throws Exception{ try { String sql = "delete from softwares where id = "+codigo+""; Statement stmt = con.createStatement(); stmt.executeUpdate(sql); stmt.close(); return true; }catch(SQLException e){ e.printStackTrace(); return false; } }
tenta ai… qq coisa dá um grito…

Criado 7 de dezembro de 2006
Ultima resposta 7 de dez. de 2006
Respostas 3
Participantes 2