Pesquisar na Comunidade
Mostrando resultados para as tags ''jdbc''.
Encontrado 3 registros
-
Supondo a classe Convidado com atributos: nome (String,único), idade (String) e parentesco (String). Criar um método em Java com tecnologia em JDBC para retornar a lista de todos os convidados. Supor que exista uma tabela de mesmo nome e um método chamado getConexao():Connection que retorne a conexão.
-
Meu problema é o seguinte, vi que quando edito um registro , funciona, o cadastro é alterado, mas quando eu quero cadastrar um novo usuário, ele cai na condição de edição, ele edita as informações do cadastro que eu estava alterando anteriormente, não deixando cadastrar um novo usuário, porque isso acontece? Variável responsável por validar se está editando ou não private int codigoEditar = 0; Método responsável por buscar o código do usuário na tabela JButton button_3 = new JButton("Editar"); button_3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tabbedPane.setSelectedIndex(0); // Variável responsável por capturar a linha selecionada int linhaSelecionada = -1; // Busca a linha selecionada e armazena na variável // linhaSelecionada(tr) // linhaSelecionada = tabela.getSelectedRow(); // Validar se uma linha foi selecionada if (linhaSelecionada >= 0) { // Armazena a informação da primeira coluna da linha // selecionada(td) //coluna 0 código do funcionário int codigoFuncionario = (int) tabela.getValueAt(linhaSelecionada, 0); buscarFuncionario(codigoFuncionario); } else { JOptionPane.showMessageDialog(null, "Selecione uma " + "linha para alterar o Funcionário!"); } } }); Método que recebe como parâmetro o código do funcionário, colocando as informações do usuário na tela de cadastro para alteração //recebe como parâmetro o código do funcionário protected void buscarFuncionario(int codigoFuncionario) { control.Funcionarios func = new control.Funcionarios(); //laço foreach que percorre o arraylist referenciando o código do funcionário for (Funcionarios funcio : func.listarFuncionarios(codigoFuncionario + "", 1)) { /*Funcionarios funcio é o Dao, para setar(set) e pegar(get) * func.listarFuncionarios(codigoFuncionario + "", 1)) códigoFuncionário + "" concatena o código com o parametro texto da pesquisa da * classe control * 1 é a pesquisa por código do funcionário referenciando o parametro do código do funcionário */ // Setar informações na tela de cadastro nome.setText(funcio.getNome()); email.setText(funcio.getEmail()); endereco.setText(funcio.getEndereco()); telefone.setText(funcio.getTelefone()); cpf.setText(funcio.getCpf_funcionario()); //Variável que recebe o valor do codigo do usuário //importante para a alteração codigoEditar = funcio.getCodigo_funcionario(); } cadastro.setVisible(true); listagem.setVisible(false); } Método responsável por salvar ou alterar o funcionário protected void salvar() { // Capturar informações que o usuário digitou String nome_funcionario = nome.getText(); String cpf_funcionario = cpf.getText(); String endereco_funcionario = endereco.getText(); String email_funcionario = email.getText(); String fone_funcionario = telefone.getText(); String senha_funcionario = senha.getText(); String rep_senha_funcionario= repsenha.getText(); if(email_funcionario.equals("")&& cpf_funcionario.equals("")&&fone_funcionario.equals("")&&nome_funcionario.equals("")){ JOptionPane.showMessageDialog(null, "Preencha os campos"); }else if(!rep_senha_funcionario.equals(senha_funcionario)){ JOptionPane.showMessageDialog(null, "As senhas são diferentes"); //validar se as senhas são iguais }else if(endereco_funcionario.equals("")){ JOptionPane.showMessageDialog(null, "O campo Endereço é Obrigatório!"); } // Criando o objeto Funcionarios func = new Funcionarios(); func.setNome(nome_funcionario); func.setEmail(email_funcionario); func.setTelefone(fone_funcionario); func.setSenha(senha_funcionario); func.setEndereco(endereco_funcionario); func.setCpf_funcionario(cpf_funcionario); func.setCodigo_funcionario(codigoEditar); control.Funcionarios manutencao = new control.Funcionarios(); //validar se estamos cadastrando ou editando os registros if(codigoEditar == 0){ manutencao.inserir(func); }else{ manutencao.alterar(func); } limparInformacoes(); tabbedPane.setSelectedIndex(1); } } Método de salvar do pacote control da classe funcionários public void inserir(dao.Funcionarios func) { if (func != null) { // Variável de conexão de DB java.sql.Connection conn = null; try { conn = ConnectDB.conexaoDB(); java.sql.PreparedStatement pstm; pstm = conn.prepareStatement(INSERT); pstm.setString(1, func.getCpf_funcionario()); pstm.setString(2, func.getEmail()); pstm.setString(3, func.getSenha()); pstm.setString(4, func.getNome()); pstm.setString(5, func.getEndereco()); pstm.setString(6, func.getTelefone()); // Envia para o banco de dados Boolean teste; teste = pstm.execute(); // Validar inserção no banco de dados if (!teste) { JOptionPane.showMessageDialog(null, "Funcionario cadastrado com sucesso!"); } else { JOptionPane.showMessageDialog(null, "Erro ao cadastrar o Funcionario!"); } // Fecha a conexão com o banco de dados ConnectDB.fecharConexao(conn); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao cadastrar o Funcionario!"); } } } Método de alterar do pacote control da classe funcionários //parametro objeto dao.funcionarios public void alterar(dao.Funcionarios func) { java.sql.Connection conn = null; try { conn = ConnectDB.conexaoDB(); //prepara a query java.sql.PreparedStatement pstm; pstm = conn.prepareStatement(UPDATE); pstm.setString(1, func.getCpf_funcionario()); pstm.setString(2, func.getEmail()); pstm.setString(3, func.getNome()); pstm.setString(4, func.getEndereco()); pstm.setString(5, func.getTelefone()); pstm.setString(6, func.getSenha()); pstm.setInt(7, func.getCodigo_funcionario()); // Envia para o banco de dados Boolean teste; teste = pstm.execute(); // Validar inserção no banco de dados if (!teste) { JOptionPane.showMessageDialog(null, "Funcionario alterado com sucesso!"); } else { JOptionPane.showMessageDialog(null, "Erro ao alterar o funcionario!"); } // Fecha a conexão com o banco de dados ConnectDB.fecharConexao(conn); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Erro ao alterar o funcionario!"+e.getMessage()); } } Peço ajuda de vocês para corrigir o problema.
-
Fala galera. Não sei mais o que fazer no código. Estou tentando enviar para um banco de dados as informações passadas pelo usuário. Essa informações seriam: Filia; Nome Completo; Endereco e Cidade. Depois tentaria traze-las de volta do banco. Quando executo a JVM indica a exceção: O código é esse: package br.com.IgrejaViva; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Scanner; public class CadastraMembro{ public static void main(String[] args) throws SQLException { insert(); select(); } public static void insert() throws SQLException{ @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); Membro membro = new Membro(); ConnectionDB con = new ConnectionDB(); System.out.println("Bem vindo ao sistema de cadastros"); System.out.println("Digite 1 para sair !"); int op = 0; while (op != 1) { System.out.println("Digite a Filial do Membro"); membro.setFilial(scanner.nextLine()); System.out.println("Digite o Nome completo"); membro.setNome(scanner.nextLine()); System.out.println("Digite o Endereço"); membro.setEndereco(scanner.nextLine()); System.out.println("Digite o Cidade"); membro.setCidade(scanner.nextLine()); /*System.out.println(membro.getCidade()); System.out.println(membro.getNome()); System.out.println(membro.getFilial()); System.out.println(membro.getEndereco());*/ if (op >= 2) { System.out.println("Digite apenas o numero 1 para sair"); } else op = scanner.nextInt(); } PreparedStatement query = con.prepareStatement("INSERT INTO Membro (filial, nomecompleto, endereco, cidade) VALUES (?, ?, ?, ?)"); query.setString(1, membro.getFilial()); // AQUI A JVM PARA A EXECUÇÃO query.setString(2, membro.getNome()); query.setString(3, membro.getEndereco()); query.setString(4, membro.getCidade()); query.executeQuery(); } public static ArrayList<Membro> select() throws SQLException{ ConnectionDB con = new ConnectionDB(); ArrayList<Membro> listaDeMembros = new ArrayList<Membro>(); Membro membro = new Membro(); PreparedStatement query2 = con.prepareStatement("SELECT * from Membro"); ResultSet resultados = query2.executeQuery(); while (resultados.next()) { listaDeMembros.add(membro); membro.setFilial(resultados.getString("filial")); membro.setNome(resultados.getString("nomecompleto")); membro.setEndereco(resultados.getString("endereco")); membro.setCidade(resultados.getString("cidade")); } return listaDeMembros; } } Se alguém já passou por esse problema ou sabe como posso resolve-lo me ajude!