Olá pessoal ! Sou novata em relação a JAVA. Porém o professor mesmo assim nos pediu para que fizessemos um formulário usando o swing e com conexão a banco de dados, no caso o SQL SERVER.
O programa deve ao clicar me um botão realizar a operação SQL correspondente. Todas as informações são capturadas por JTextField. O problema é não estou conseguindo ver como isso funciona ou seja como implementarei corretamente as funções em cada botão. Isso foi o que eu consegui até agora:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
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 javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CadastroFuncionario extends JFrame implements ActionListener{
JPanel painel ;
JPanel painelBotoes;
JButton btnInserir;
JButton btnAtualizar;
JButton btnApagar;
JButton btnListar;
JTextField txtNome;
JTextField txtProfissao;
JTextField txtData;
JTextField txtSexo;
JTextArea exibir;
JLabel lblNome;
JLabel lblProfissao;
JLabel lblData;
JLabel lblSexo;
public CadastroFuncionario(){
super("Cadastro de Funcionários");
painel = new JPanel();
painel.setLayout(new GridLayout(11,1,0,5));
//exibir = new JTextArea(60,60);
//painel.add(exibir);
painel.add(lblNome = new JLabel("Nome: "));
txtNome = new JTextField(100);
painel.add(txtNome);
painel.add(lblProfissao= new JLabel("Profissao: "));
painel.add(txtProfissao = new JTextField(50));
lblData = new JLabel("Data de nascimento: ");
painel.add(lblData);
txtData = new JTextField(10);
painel.add(txtData);
lblSexo = new JLabel("Sexo: ");
painel.add(lblSexo);
txtSexo = new JTextField(2);
painel.add(txtSexo);
painelBotoes = new JPanel();
painelBotoes.setLayout(new FlowLayout());
btnInserir = new JButton("INSERIR");
painelBotoes.add(btnInserir);
btnInserir.addActionListener(this);
btnAtualizar = new JButton("ATUALIZAR");
painelBotoes.add(btnAtualizar);
btnAtualizar.addActionListener(this);
btnApagar = new JButton("APAGAR");
painelBotoes.add(btnApagar);
btnApagar.addActionListener(this);
btnListar = new JButton("LISTAR");
painelBotoes.add(btnListar);
btnListar.addActionListener(this);
getContentPane();
setLayout(new BorderLayout());
add(painel, BorderLayout.NORTH);
add(painelBotoes, BorderLayout.CENTER);
setSize(400,430);
setLocation(180,180);
setVisible(true);
}
public static void main(String[] args)throws ClassNotFoundException, SQLException {
CadastroFuncionario cf = new CadastroFuncionario();
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:bdFun");
}
@Override
public void actionPerformed(ActionEvent arg) {
if(arg.getSource() == btnInserir){
PreparedStatement inserirpstmt = con.prepareStatement("INSERT INTO DadosFun VALUES(?,?,?,?)");
inserirpstmt.setString(1, txtNome);
inserirpstmt.setString(2, txtProfissao);
inserirpstmt.setString(3, txtData);
inserirpstmt.setString(4, txtSexo);
inserirpstmt.executeUpdate();
}
if(arg.getSource() == btnAtualizar){
PreparedStatement atualizarpstmt = con.prepareStatement("UPDATE DadosFun VALUES(?,?,?,?)");
atualizarpstmt.setString(1, txtNome);
atualizarpstmt.setString(2, txtProfissao);
atualizarpstmt.setString(3, txtData);
atualizarpstmt.setString(4, txtSexo);
atualizarpstmt.executeUpdate();
}
if(arg.getSource() == btnApagar){
PreparedStatement apagarpstmt = con.prepareStatement("DELETE FROM DadosFun WHERE(?)");
apagarpstmt.setString(1, txtNome);
apagarpstmt.executeUpdate();
}
if(arg.getSource() == btnListar){
PreparedStatement ps = con.prepareStatement("SELECT * FROM DadosFun");
ResultSet rs = ps.executeQuery();
System.out.println("Nome \t Profissao \t Nascimento \t Sexo");
while (rs.next()) {
System.out.println(rs.getString("NOME").trim() + "\t" +rs.getString("PROFISSAO").trim() + "\t" + rs.getDate("NASCIMENTO") +
"\t" + rs.getString("SEXO").trim());
}
}
}
}
Obrigada !