Bom dia galera, estou criando um programa para cadastrar cliente, com isso na hora do INSERT o programa da varios ERRO, já tentei de todas as formas arrumar, mas não achei nenhuma solução :(
Segue meu codigo, Gostaria de sua ajuda para solucionar meu problema, obrigado desde já.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.JOptionPane;
public class Cadastro_Cliente_Teste extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel panel, panelP, panelCadastro, panelButton, panelLabel;
private JLabel lbNome;
private JTextField tfNome;
private JButton btSalvar, btLimpar, btSair;
private String url = "jdbc:postgresql://localhost:5432/postgres";
private String name = "postgres";
private String psw = "password";
private Connection con;
private Statement st;
public Cadastro_Cliente_Teste (){
super ("Cadastro de Cliente");
setDefaultCloseOperation(EXIT_ON_CLOSE);
try
{
// Registrando o driver
Class.forName("org.postgresql.Driver");
// Fazendo uma conexão teste
con = DriverManager.getConnection(url, name, psw);
System.out.println("Conexão Realizada com suzesso");
}
catch (Exception e)
{
System.out.println(e.getLocalizedMessage());
e.printStackTrace();
}
//Criando Panel Cadastro
panelCadastro = new JPanel();
panelCadastro.setLayout( new FlowLayout(FlowLayout.LEFT));
panelCadastro.setPreferredSize(new Dimension(500,200));
panelCadastro.setOpaque(false);
panelCadastro.setBorder(BorderFactory.createTitledBorder("Dados do Cliente"));
//Criando Label
lbNome = new JLabel ("Nome:");
tfNome = new JTextField(20);
panelLabel = new JPanel();
panelLabel.setLayout( new GridLayout(1,1) );
panelLabel.add(lbNome);
panelLabel.add(tfNome);
panelCadastro.add(panelLabel);
//Criado Panel Button
btSalvar = new JButton("Salvar");
btSalvar.addActionListener(this);
btSalvar.setOpaque(false);
btLimpar = new JButton("Limpar");
btLimpar.addActionListener(this);
btLimpar.setOpaque(false);
btSair = new JButton("Sair");
btSair.addActionListener(this);
btSair.setOpaque(false);
panelButton = new JPanel();
panelButton.setLayout( new FlowLayout( FlowLayout.CENTER ) );
panelButton.add( btSalvar );
panelButton.add( btLimpar );
panelButton.add( btSair );
//Criando Panel P
panelP = new JPanel();
panelP.setLayout( new BorderLayout() );
panelP.add( panelCadastro, BorderLayout.CENTER );
panelP.add( panelButton, BorderLayout.SOUTH );
// Criando Painel Principal
panel = new JPanel();
panel.setLayout( new FlowLayout( FlowLayout.LEFT, 5, 5) );
panel.add( panelP );
add(panel);
//TAMANHO DA JANELA
setSize(520,400);
//ABRE O PROGRAMA NO MEIO DA TELA
setLocationRelativeTo(null);
//BLOQUEANDO REDIMENSIONAMENTO DA JANELA
setResizable(false);
}
//Açoes dos botões
public void actionPerformed(ActionEvent event)
{
Object evento = event.getSource();
//CADASTRAR
if(evento == btSalvar)
{
VerificaECadastra();
}
//LIMPAR CAMPOS
if(evento == btLimpar)
{
Limpar();
}
//SAIR
if(evento == btSair)
{
Sair();
}
}
//Sair do programa
private void Sair() {
System.exit(0);
}
//Limpar campos
private void Limpar() {
tfNome.setText("");
}
//VERIFICA SE OS CAMPOS ESTÃO EM BRANCO, CASO ESTIVER ALGUM EM BRANCO INFORMA ERRO, SE NÃO EXECUTA O MÉTODO CADASTRO
public void VerificaECadastra()
{
if( (tfNome.getText().equals("")) )
{
JOptionPane.showMessageDialog(this,"Todos os campos são obrigatórios! Por favor tente novamente.","Erro", JOptionPane.ERROR_MESSAGE);
}
else
{
Cadastrar();
}
}
//MÉTODO CADASTRO, CONECTA COM O BANCO E INSERE OS DADOS DOS CAMPOS NO BANCO DE DADOS
public void Cadastrar()
{
//Variavel em String recebe o comando SQL para inserir na tabela clientes
String sentencaSQL = "INSERT INTO cliente (nome) VALUES ('"+tfNome.getText()+"')" ;
//Tentando executar o comando para inserir na tabela
try
{
st.executeUpdate(sentencaSQL);
JOptionPane.showMessageDialog(this,"Dados inseridos com sucesso!","Mensagem", JOptionPane.WARNING_MESSAGE);
}
// exceções de SQL
catch (SQLException eSQL)
{
JOptionPane.showMessageDialog(this,"Não foi possível inserir os dados!\n" +"Mensagem: " + eSQL.getMessage(),"Erro", JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Cadastro_Cliente_Teste exCadastro = new Cadastro_Cliente_Teste();
exCadastro.setVisible( true );
}
}