Ir ao conteúdo
  • Cadastre-se

Erro com a consulta sql no java


Posts recomendados

Pessoal bom dia, estou tentando fazer uma consulta no meu banco de dados usando um parâmetro digitado pelo usuário.

Quando digito o comando sql no banco de dados ele está me retornando um valor correto, no entanto, no programa java não estou conseguindo obter um retorno.

Dêem uma olhada e vejam se podem me ajudar.

 

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class AplicTabelaCarros extends JFrame implements ActionListener {

    JTextField jPlaca = new JTextField();
    JTextField jAno = new JTextField();
    JTextField jMarca = new JTextField();
    JTextField jModelo = new JTextField();
    JTextField jPesquisa = new JTextField();
    JButton jbInserir = new JButton();
    JButton jbPesquisar = new JButton();
    JButton jbVisualisar = new JButton();
    JTextArea jtRelatorio = new JTextArea();

    public AplicTabelaCarros() {
        this.setLocation(250, 50);
        this.setSize(600, 800);
        this.setLayout(null);
        this.setTitle("Tabela CARROS");
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);

        //Etiquetas
        JLabel jlbPlaca = new JLabel("<html><b>Placa: </b></html>");
        jlbPlaca.setLocation(10, 20);
        jlbPlaca.setSize(100, 20);
        JLabel jlbAno = new JLabel("<html><b>Ano: </b></html>");
        jlbAno.setLocation(10, 50);
        jlbAno.setSize(100, 20);
        JLabel jlbMarca = new JLabel("<html><b>Marca: </b></html>");
        jlbMarca.setLocation(10, 80);
        jlbMarca.setSize(100, 20);
        JLabel jlbModelo = new JLabel("<html><b>Modelo: </b></html>");
        jlbModelo.setLocation(10, 110);
        jlbModelo.setSize(100, 20);
        JLabel jlbLinha = new JLabel("================================================================================");
        jlbLinha.setLocation(10, 170);
        jlbLinha.setSize(600, 20);
        JLabel jlbPesquisa = new JLabel("Digite o nome do carro e clique em pesquisar:");
        jlbPesquisa.setLocation(270, 10);
        jlbPesquisa.setSize(300, 20);

        //Caixas de Texto
        jPlaca.setLocation(80, 20);
        jPlaca.setSize(150, 20);
        jAno.setLocation(80, 50);
        jAno.setSize(150, 20);
        jMarca.setLocation(80, 80);
        jMarca.setSize(150, 20);
        jModelo.setLocation(80, 110);
        jModelo.setSize(150, 20);
        jPesquisa.setLocation(270, 40);
        jPesquisa.setSize(80, 30);

        //Botão
        jbInserir.setLocation(50, 140);
        jbInserir.setSize(150, 30);
        jbInserir.setText("Inserir");
        jbInserir.addActionListener(this);
        jbPesquisar.setLocation(360, 40);
        jbPesquisar.setSize(150, 30);
        jbPesquisar.setText("Pesquisar");
        jbPesquisar.addActionListener(this);
        jbVisualisar.setLocation(300, 120);
        jbVisualisar.setSize(200, 30);
        jbVisualisar.setText("Visualizar cadastrados");
        jbVisualisar.addActionListener(this);

        //Área de visualização
        jtRelatorio.setVisible(false);
        jtRelatorio.setLocation(100, 185);
        jtRelatorio.setSize(340, 500);
        jtRelatorio.setText(jtRelatorio.getText()
                + "PLACA:             "
                + "ANO:                " + "MARCA:                  " + "MODELO:             " + "\n"
                + "==================================================\n");

        add(jlbPlaca);
        add(jlbAno);
        add(jlbMarca);
        add(jlbModelo);
        add(jlbLinha);
        add(jlbPesquisa);
        add(jPlaca);
        add(jAno);
        add(jMarca);
        add(jModelo);
        add(jPesquisa);
        add(jbInserir);
        add(jbPesquisar);
        add(jbVisualisar);
        add(jtRelatorio);
    }

    @override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == jbInserir) {
            try {
                //Conexão ao servidor de Banco de Dados
                Class.forName("org.gjt.mm.mysql.Driver");

                //Cria conexão ao banco schema "aula"   
                Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/carros", "root", "");

                //Consulta o banco de dados    
                Statement st = cn.createStatement();

                PreparedStatement pst;
                String matricula = "INSERT INTO carros.carro (placa, ano, marca, modelo) VALUES (?,?,?,?)";
                pst = cn.prepareStatement(matricula);
                pst.setString(1, jPlaca.getText());
                pst.setString(2, jAno.getText());
                pst.setString(3, jMarca.getText());
                pst.setString(4, jModelo.getText());
                pst.executeUpdate();
                jPlaca.setText(null);
                jAno.setText(null);
                jMarca.setText(null);
                jModelo.setText(null);

            } catch (ClassNotFoundException f) {
                JOptionPane.showMessageDialog(null, "Erro ao conectar: " + f.getMessage());
            } catch (SQLException f) {
                JOptionPane.showMessageDialog(null, "Erro de SQL: " + f.getMessage());
            }
            if (e.getSource() == jbPesquisar) {
                try {
                    //Conexão ao servidor de Banco de Dados
                    Class.forName("org.gjt.mm.mysql.Driver");

                    //Cria conexão ao banco schema "aula"   
                    Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/carros", "root", "learjet35");

                    //Consulta o banco de dados    
                    Statement st = cn.createStatement();
                    ResultSet rs = st.executeQuery("select * from carros.carro where modelo like %" + jPesquisa.getText() + "%");
                    while (rs.next()) {
                        jtRelatorio.setText(jtRelatorio.getText()
                                + rs.getString(1) + "               "
                                + rs.getString(2) + "               "
                                + rs.getString(3) + "               "
                                + rs.getString(4) + "\n");
                        jtRelatorio.setVisible(true);

                    }

                } catch (ClassNotFoundException f) {
                    JOptionPane.showMessageDialog(null, "Erro ao conectar: " + f.getMessage());
                } catch (SQLException f) {
                    JOptionPane.showMessageDialog(null, "Erro de SQL: " + f.getMessage());
                }
            }
        }
        if (e.getSource() == jbVisualisar) {
            try {
                //Conexão ao servidor de Banco de Dados
                Class.forName("org.gjt.mm.mysql.Driver");

                //Cria conexão ao banco schema "aula"   
                Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/carros", "root", "learjet35");

                //Consulta o banco de dados    
                Statement st = cn.createStatement();
                ResultSet rs = st.executeQuery("select * from carros.carro");
                while (rs.next()) {
                    jtRelatorio.setText(jtRelatorio.getText()
                            + rs.getString(1) + "               "
                            + rs.getString(2) + "               "
                            + rs.getString(3) + "               "
                            + rs.getString(4) + "\n");
                    jtRelatorio.setVisible(true);
                }
                cn.close();
                st.close();
            } catch (ClassNotFoundException f) {
                JOptionPane.showMessageDialog(null, "Erro ao conectar: " + f.getMessage());
            } catch (SQLException f) {
                JOptionPane.showMessageDialog(null, "Erro de SQL: " + f.getMessage());
            }
        }
    }

    public static void main(String[] args) throws SQLException {
        new AplicTabelaCarros().setVisible(true);
    }
}
 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...