Ajuda - Buscar informações no banco

Olá amigos, alguém poderia me ajudar dando uma idéia de código para buscar uma informação em uma tabela em um banco?

Seguinte:
Criei um form com um JTextField chamado “comando_sql_txt”, e um JButton chamado “buscar_comando”.
Quero clicar no botao e trazer as informações de uma tabela chamada “senac1” no banco de dados.

Tenho 2 idéias:

  1. Trazer a primeira informação desta tabela, e quando o usuário clicar nela novamente, apagar ela do banco e trazer a próxima informação.
  2. trazer a primeira informação desta tabela, e criar um JButton para o usuário apaga-la da tabela, e poder clicar no JButton “comando_sql_txt”, para trazer a próxima informação desta tabela.

PS: O aplicativo já conecta ao banco, está tudo certo, basta só gerar os códigos para o JButton trazer a informação.

Alguém por favor poderia me ajudar?
Obrigado…

só não entendi uma parte…onde vc quer jogar o resultado da consulta no banco?

vc pode usar um actionListener no botão e enviar um comando sql.

algo do tipo;

seuBotão.addActionListener
(
   new ActionListener()
   {
     public void actionPerformed(ActionEvent e)
     {
       Class.forName(driver);
       Connection con = DriverManager.getConnection(conexão, user, password);
       Statement stm	=	con.createStatement();

       //seleciona todos os dados da suaTabela
       String seleciona = "select * from suaTabela"

       //retorno da consulta
       ResultSet rs = stm.executeQuery(seleciona);

        //variável auxiliar
        int  i = 1;

       //enquanto houver linhas de retorno da consulta executa:
       while(rs.next())
       {
          System.out.println(rs.getString(i));
          i++;
        }
     }
   }
);

assim vc tem o retorno da consulta sendo impresso no console.

espero q ajude pra alguma coisa… :grin:

flws

Eu quero jogar o resultado em um JTextField que criei, tem como?

E eu já possuo uma classe para conectar ao banco, como posso usa-la para conectar esse codigo que voce passou agora, com esta classe abaixo?

[code]
public class BancoSql {
Connection bancosql_conn;

   public BancoSql(String user, String pass)
 
         Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); 
         String conecta = "jdbc:jtds:sqlserver:/JC-T3F5WUIIQ12L:3148/senac;user="+user+";password="+pass;
     //  String conecta = "jdbc:mysql://localhost:3306/java?user="+user+"&password="+pass;;
         bancosql_conn = DriverManager.getConnection(conecta);[/code]

cara, vc queria jogar no textfield uma linha do resultado e depois de uma ação ele apaga e mostra a próxima linha é isso??? se for, até tem como mas não seria algo tão simples…

quanto à sua classe de conexão, eu nunca precisei de algo do tipo, mas vc pode tentar o seguinte:

1º - declare o objeto con como public para ter acesso em outra classe:

public class BancoSql {
       public Connection bancosql_conn;
       
       public BancoSql()
     
             String user; 
             String pass;

             Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
             String conecta = "jdbc:jtds:sqlserver:/JC-T3F5WUIIQ12L:3148/senac;user="+user+";password="+pass;
         //  String conecta = "jdbc:mysql://localhost:3306/java?user="+user+"&password="+pass;;
             bancosql_conn = DriverManager.getConnection(conecta);

Depois na outra classe que vc quer fazer uma consulta vc pode declarar assim (vamos supor que seja na classe que eu te passei):

//primeiro vc importa a sua classe de conexão para ter acesso aos seus //atributos e componentes
import BancoSql;

seuBotão.addActionListener
(
   new ActionListener()
   {
     public void actionPerformed(ActionEvent e)
     {
       BancoSql  dados = new BancoSql();

       Statement stm   =   dados.bancosql_conn.createStatement();

       //seleciona todos os dados da suaTabela
       String seleciona = "select * from suaTabela"

       //retorno da consulta
       ResultSet rs = stm.executeQuery(seleciona);

        //variável auxiliar
        int  i = 1;

       //enquanto houver linhas de retorno da consulta executa:
       while(rs.next())
       {
          System.out.println(rs.getString(i));
          i++;
        }
     }
   }
);

acho que isso resolve teu problema…

qualquer coisa me dá um toque…

flws

O codigo que passou está gerando alguns erros.

Abaixo o codigo da minha classe de conexão:

[code]package conexao_banco;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class bancosql{
public Connection bancosql_conn;

/** Abre a conexão com o SQL */

public bancosql(String user, String pass)
throws Exception{
    try{
        Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
        String conecta = "jdbc:jtds:sqlserver:/JC-T3F5WUIIQ12L:3148/senac;user="+user+";password="+pass;
        //  String conecta = "jdbc:mysql://localhost:3306/java?user="+user+"&password="+pass;;
        bancosql_conn = DriverManager.getConnection(conecta);
    }catch(ClassNotFoundException cnfe){
        Exception my_ex = new Exception("O driver para acesso ao banco de dados não foi encontrado.");
        throw my_ex;
    }catch(SQLException se){
        Exception my_ex = new Exception("A conexão com o banco de dados não foi realizada. Verifique usuário e senha.");
        throw my_ex;
    }catch(Exception e){
        Exception my_ex = new Exception("Erro desconhecido.");
        throw my_ex;
    }
}

public Connection getConnection(){
    return bancosql_conn;
    
}

public void close()
throws Exception{
    try{
        bancosql_conn.close();
        
    }catch(SQLException se){
        Exception my_ex = new Exception("A conexão com o banco de dados não pode ser fechada.");
        throw my_ex;
    }catch(Exception e){
        Exception my_ex = new Exception("Erro desconhecido.");
        throw my_ex;
    }
}

}
[/code]

Então, quero clicar em um botão chamado buscar_comando:

private void buscar_comandoActionPerformed(java.awt.event.ActionEvent evt)

E trazer para um JTextField a primeira informação da tabela senac1.
Após isso funcionando, quero:

  • Clicar no mesmo botão, trazer a proxima informação da tabela senac1
    ou
  • Criar um botao apagar, para apagar essa primeira informação e trazer a proxima informação da tabela, que após ter sido apagada, passa a ser a primeira.

Conseguiu me entender agora?
Mas não estou conseguindo nem trazer a primeira da tabela ainda… :frowning: