Ir ao conteúdo
  • Cadastre-se

Davi Nascimento_770787

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

  1. 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); } }
  2. Estanho quando executo aqui, aparece assim: MATRÍCULA: NOME: CURSO: ================================================== 1 Brasil Info 1 Brasil Info 2 Pedro Java 1 Brasil Info 2 Pedro Java 3 José PHP
  3. O problema é que tenho que buscar esses dados dentro do banco de dados, por isso não estou conseguindo como fazer com que ao clicar no botão gravar dados, os dados sejam inseridos no banco de dados e visualizados na JTextArea Até que consigo enviar para o banco e ele ficam armazenados, mas não são mostrados Eu fiz as alterações abaixo e agora estou visualizando os dados ao clicar no botão, no entanto, ainda não está certo, pois ele vai duplicando o que já está inserido no banco de dados. String matricula = "INSERT INTO aula.alunos (matricula, nome, curso) VALUES (?,?,?)"; pst = cn.prepareStatement(matricula); pst.setString(1, jMatricula.getText()); pst.setString(2, jNome.getText()); pst.setString(3, jCurso.getText()); pst.executeUpdate(); jMatricula.setText(null); jNome.setText(null); jCurso.setText(null); ResultSet rs = st.executeQuery("select * from alunos"); while (rs.next()) { jRelatorio.setText(jRelatorio.getText() + rs.getString(1)+" " + rs.getString(2)+" " + rs.getString(3) + "\n"); jRelatorio.setVisible(true); }
  4. Foi mal não ter postado os códigos antes, segue abaixo: package atividademoduloix; 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 Execucao extends JFrame implements ActionListener { JTextField jMatricula = new JTextField(); JTextField jNome = new JTextField(); JTextField jCurso = new JTextField(); JButton jb1 = new JButton(); JTextArea jRelatorio = new JTextArea(); public Execucao() { this.setLocation(250, 50); this.setSize(600, 800); this.setLayout(null); this.setTitle("Inserindo Dados no Banco"); this.setDefaultCloseOperation(EXIT_ON_CLOSE); //Caixas de Texto jMatricula.setLocation(80, 20); jMatricula.setSize(150, 20); jNome.setLocation(80, 50); jNome.setSize(150, 20); jCurso.setLocation(80, 80); jCurso.setSize(150, 20); //Etiquetas JLabel jlb1 = new JLabel("Matrícula: "); jlb1.setLocation(10, 20); jlb1.setSize(100, 20); JLabel jlb2 = new JLabel("Nome: "); jlb2.setLocation(10, 50); jlb2.setSize(100, 20); JLabel jlb3 = new JLabel("Curso: "); jlb3.setLocation(10, 80); jlb3.setSize(100, 20); //Botão jb1.setLocation(330, 40); jb1.setSize(150, 30); jb1.setText("Grava Dados"); jb1.addActionListener(this); //Área de visualização jRelatorio.setVisible(false); jRelatorio.setLocation(100, 120); jRelatorio.setSize(400, 500); this.add(jMatricula); this.add(jNome); this.add(jCurso); this.add(jlb1); this.add(jlb2); this.add(jlb3); this.add(jb1); this.add(jRelatorio); } @override public void actionPerformed(ActionEvent e) { if (e.getSource() == jb1) { 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/aula", "root", ""); //Consulta o banco de dados Statement st = cn.createStatement(); PreparedStatement pst; String matricula = "INSERT INTO aula.alunos (matricula, nome, curso) VALUES (?,?,?)"; pst = cn.prepareStatement(matricula); pst.setString(1, jMatricula.getText()); pst.setString(2, jNome.getText()); pst.setString(3, jCurso.getText()); pst.executeUpdate(); jMatricula.setText(null); jNome.setText(null); jCurso.setText(null); ResultSet rs = st.executeQuery("select * from alunos"); while (rs.next()) { jRelatorio.setText(jRelatorio.getText() + "Matrícula: " + rs.getString(1) + "Nome: " + rs.getString(2) + "Curso: " + rs.getString(3) + "/n/n"); jRelatorio.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 Execucao().setVisible(true); } } Eu queria que fosse exibido igual abaixo, mas não estou conseguindo: MATRÍCULA NOME CURSO =============================== 1 Pedro Info 2 José Alemão
  5. Bom dia galera, quero que ao clicar em um botão "gravar dados", os dados sejam inseridos em um banco de dados e que ao mesmo tempo seja mostrado em uma relação abaixo do botão clicado. Acontece que eu estou conseguindo enviar os dados para o banco, entro no banco mando visualizar e os dados digitados estão lá, no entanto, não estou sabendo como faço para mostrar os dados digitados. Estou tentando usar um campo JTextArea para visualizar os dados, mas nada. Alguém pode me dar uma dica?
  6. Estou perdendo os cabelos por causa de um erro no cálculo de idade. Fiz um formulário em html e os scripts em php. Algumas data retornam com a idade certa, no entanto, outras retornam um erro. Segue meu código *** Formulário <!DOCTYPE html><html lang="pt-br"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Calcular o IMC</title></head><body> <form method="post" name="form_IMC" action="imc.php" > <fieldset> <legend>Descubrindo seu IMC</legend> <legend><h2><b>Informe seus dados</b></h2></legend> <label>Nome:</label> <input name="nome" type="text" size="40"/><p> <label>Data de nascimento: </label> <input type="date" maxlength="10" name="data" pattern="[0-9]{2}\/[0-9]{2}\/[0-9]{4}$" /> <label>Sexo: </label> <select name="sexo"> <option value="Masculino" />Masculino</option><br /> <option value="Feminino" />Feminino</option><br /> </select><p> <label>Peso (Kg): </label> <input type="text" name="peso" /><p> <label>Altura (cm): </label> <input type="text" name="altura" /><p> <input type="submit" value="Enviar"/> <input type="reset" value="Limpar"/> </fieldset></form></body></html> ****PHP <?php $nome = $_POST["nome"]; $data = $_POST["data"]; $sexo = $_POST["sexo"]; $peso = $_POST["peso"]; $altura = $_POST["altura"]; $imc = $peso / (($altura/100)*($altura/100)); //Calcula a idade $date = new DateTime($data); $interval = $date->diff( new DateTime( ) ); echo "Nome: $nome<br />"; echo "Data de Nascimento: $data<br/ >"; echo "Sexo: $sexo<br />"; echo "Peso(kg): $peso<br />"; echo "Altura(cm): $altura<br />"; echo "------------------------------<br />"; echo "RESULTADO<br />"; echo "------------------------------<br />"; echo $interval->format( "Idade: %Y anos %m meses %d dias<br />"); echo "Seu IMC é: $imc<br />"; //Calcula o IMC if($sexo == "Masculino"){ if ($imc<20.7){ echo "Situação: Abaixo do peso"; } elseif ($imc>=20.7 && $imc<26.4) { echo "Situação: Peso normal"; }elseif ($imc>=26.4 && $imc<27.8) { echo "Situação: Marginalmente acima do peso"; }elseif ($imc>=27.8 && $imc<31.1) { echo "Situação: Acima do peso ideal"; }else{ echo "Situação: Obeso"; } }else{ if ($imc<19.1) { echo "Situação: Abaixo do peso"; }elseif ($imc>=19.1 && $imc<25.8){ echo "Situação: Peso normal"; }elseif ($imc>=25.8 && $imc<27.3){ echo "Situação: Marginalmente acima do peso"; }elseif ($imc>=27.3 && $imc<32.3){ echo "Situação: Acima do peso ideal"; }else{ echo "Situação: Obesa"; } }?> Quando coloco por exemplo a data: 01/01/1985 ele retorna o valor correto: Idade: 30 anos 9 meses 8 dias No entanto quando coloco 27/09/1985 ele retorna o seguinte erro: Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (27/09/1984) at position 0 (2): Unexpected character' in C:\xampp\htdocs\projeto\ModuloIII\Unidade III\IMC\imc.php:12 Stack trace: #0 C:\xampp\htdocs\projeto\ModuloIII\Unidade III\IMC\imc.php(12): DateTime->__construct('27/09/1984') #1 {main} thrown in C:\xampp\htdocs\projeto\ModuloIII\Unidade III\IMC\imc.php on line 12 Alguém pode me ajudar????
  7. Simon Viegas realmente dei mole, acho que perderei meus cabelos que já estão ficando brancos...rsrsrsrsObrigado pelas orientações. Foi justamente onde estava errando, fiz as correções que sugeriu e o programa está rodando. Obrigado
  8. Eu estava colocando o cálculo do fatorial no lugar errado. Fiz assim e deu certo: @[member="override"] public void actionPerformed(ActionEvent e) { if (e.getSource() == calc) { if (processou) { double num; double fator=1; num = Double.parseDouble(txt.getText()); for (double i=num;i>=1;i--){ fator=fator*(i); } ProcessaNumero(txt.getText()); JOptionPane.showMessageDialog(null, "O fatorial do número " + num + " é: " + fator); } else { JOptionPane.showMessageDialog(null, "Erro ao processar os dados."); No entanto, não mostra o erro quando se digita uma letra. Não calcula, mas não mostra a mensagem de erro
  9. Galera estou perdendo meus cabelos, mas não desistirei do java. Tenho que mostrar o fatorial de um número digitado em um JTextField, usando um MenuItem para calcular o fatorial, algo está dando errado, quando digito um número inteiro ele retorna 0. Segue meu código: package criandomenu;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JTextField;public class CriarMenu extends JFrame implements ActionListener { public double fator = 1; public double num; public boolean processou = true; JLabel jlb = new JLabel("Informe um número: "); JTextField txt = new JTextField(); JMenuItem calc = new JMenuItem("Calcular"); JMenu menu = new JMenu("Arquivo"); JMenuBar adMenu = new JMenuBar(); public CriarMenu() { this.setLocation(50, 50); this.setSize(300, 400); this.setLayout(null); this.setTitle("Calcular Fatorial"); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.add(jlb); this.add(txt); this.add(menu); this.add(adMenu); jlb.setLocation(10, 10); jlb.setSize(150, 20); txt.setLocation(140, 10); txt.setSize(40, 20); menu.add(calc); calc.addActionListener(this); adMenu.add(menu); setJMenuBar(adMenu); } public Double Fatorial() { num = Double.parseDouble(txt.getText()); while (num > 1) { fator = fator * (num - 1); num--; } return fator; } public double ProcessaNumero(String Mensagem) { try { return Double.parseDouble(txt.getText()); } catch (NumberFormatException NF) { JOptionPane.showMessageDialog(null, "Digite um número do tipo inteiro."); processou = false; return 0.0; } } public static void main(String[] args) { new CriarMenu().setVisible(true); } @[member="override"] public void actionPerformed(ActionEvent e) { if (e.getSource() == calc) { if (processou) { ProcessaNumero(txt.getText()); JOptionPane.showMessageDialog(null, "O fatorial do número " + num + " é: " + fator); } else { JOptionPane.showMessageDialog(null, "Erro ao processar os dados."); } } }}
  10. dif, muito obrigado. Não só pela correção, mas sim pela explicação, principalmente na questão da data. Revisando os meus códigos, realmente fiz muita coisa errada. Valeu mesmo
  11. Galera sou novo em php e não estou conseguindo efetuar esse problema. Fiz o formulário com os dados necessários, até aí beleza, mas não hora em que tendo efetuar o if, está tento algum erro. Código abaixo: <!DOCTYPE html><html lang="pt-br"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Calcular o IMC</title></head><body> <?php $nome = isset($_POST["nome"]) ? $_POST["nome"] : ''; $dd = isset($_POST["dd"]) ? $_POST["dd"] : ''; $mm = isset($_POST["mm"]) ? $_POST["mm"] : ''; $aaaa = isset($_POST["aaaa"]) ? $_POST["aaaa"] : ''; $sexo = isset($_POST["sexo"]) ? $_POST["sexo"] : ''; $peso = isset($_POST["peso"]) ? $_POST["peso"] : ''; $altura = isset($_POST["altura"]) ? $_POST["altura"] : ''; if($altura>0) { $imc = $peso / (($altura/100)*($altura/100)); } else $imc = 0; ?><form method="post" name="IMC" action="imc.php" > <fieldset> <legend>Descubrindo seu IMC</legend> <legend><h2><b>Informe seus dados</b></h2></legend> <label>Nome:</label> <input name="nome" type="text" size="40" value="<?php echo $nome ?>"/><p> <label>Data de nascimento: </label> <input type="text" name="dia" size="2" maxlength="2" value="<?php echo $dd ?>"> <input type="text" name="mes" size="2" maxlength="2" value="<?php echo $mm ?>"> <input type="text" name="ano" size="4" maxlength="4" value="<?php echo $aaaa ?>"><p> <label>Sexo: </label> <select name="sexo"> <option name="sexo" type="string" value="Masculino" />Masculino</option><br /> <option name="sexo" type="string" value="Feminino" />Feminino</option><br /> </select><p> <label>Peso (Kg): </label> <input name="peso" value="<?php echo $peso ?>"/><p> <label>Altura (cm): </label> <input name="altura" value="<?php echo $altura ?>"/><p> <input name="calcular" type="submit" value="Enviar"/> <input name="limpar" type="reset" value="Limpar"/> </fieldset></form> <?php if($sexo == "Masculino"){ if ($imc<20.7){ echo "Abaixo do peso"; } elseif ($imc>=20.7) && ($imc>26.4) { echo "Peso normal"; }elseif ($imc>=26.4) && ($imc>27.8) { echo "Marginalmente acima do peso"; }elseif ($imc>=27.8) && ($imc>31.1) { echo "Acima do peso ideal"; }else{ echo "Obeso"; } }else{ if ($imc<19.1) { echo "Abaixo do peso"; }elseif ($imc>=19.1) && ($imc>25.8){ echo "Peso normal"; }elseif ($imc>=25.8) && ($imc>27.3){ echo "Marginalmente acima do peso"; }elseif ($imc>=27.3) && ($imc>32.3){ echo "Acima do peso ideal"; }else{ echo "Obesa"; } } echo "Sua situação é: $imc";?></body></html>

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...