Olá estou criando um sistema pra cadastrar um funcionario, dai eu criei uma classe chamada pessoa com os metodos e atributos, crir o JFrame q tem os campos para digitar, e crir uma classe chamada PessoaDAO para inserir os dados no banco. Dai ele deveria cadastrar e criar um id para cada pessoa cadastrada, so que eu nao sei como fazer esse id ser auto increment e como ele ser criado sozinho, tipo ao clicar pra enviar, aparecia id 1 no proximo cadastro id 2 etcc. e tbm ta dando um erro dizendo que as colunas do tipo NUMERIC nao podem conter valores do tipo char.
Sera que poderiam me ajudar?? aqui vai a classse pessoa, pessoaDAO e o JFrame :
[code]
public class Pessoa {
private String nome;//atributos
private String email;
private Integer telefone;
private String rua;
private Integer numero;
private String compl;
private String bairro;
private String cidade;
private String estado;
private Integer cep;
private String admissao;
private Integer cpf;
public Pessoa() {
super();
}
public String getNome(){//metodo acessor
return this.nome;
}
public void setNome(String nom){//metodo modificador
this.nome=nom;
}
public String getEmail(){//metodo acessor
return this.email;
}
public void setEmail(String mail){//metodo modificador
this.email = mail;
}
public Integer getTelefone(){//metodo acessor
return this.telefone;
}
public void setTelefone(Integer tel){//metodo modificador
this.telefone=tel;
}
public String getRua(){//metodo acessor
return this.rua;
}
public void setRua(String ru){//metodo modificador
this.rua=ru;
}
public Integer getNumero(){//metodo acessor
return this.numero;
}
public void setNumero(Integer num){//metodo modificador
this.numero=num;
}
public String getCompl(){//metodo acessor
return this.compl;
}
public void setCompl(String com){//metodo modificador
this.compl=com;
}
public String getBairro(){//metodo acessor
return this.bairro;
}
public void setBairro(String bai){//metodo modificador
this.bairro=bai;
}
public String getCidade(){//metodo acessor
return this.cidade;
}
public void setCidade(String cid){//metodo modificador
this.cidade=cid;
}
public String getEstado(){//metodo acessor
return this.estado;
}
public void setEstado(String est){//metodo modificador
this.estado=est;
}
public Integer getCep(){//metodo acessor
return this.cep;
}
public void setCep(Integer ce){//metodo modificador
this.cep=ce;
}
public String getAdmissao(){//metodo acessor
return this.admissao;
}
public void setAdmissao(String admis){//metodo modificador
this.admissao=admis;
}
public Integer getCpf(){//metodo acessor
return this.cpf;
}
public void setCpf(Integer cp){//metodo modificador
this.cpf=cp;
}
}[/code]
A classe PessoaDAO
[code]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class PessoaDAO {
private Connection conn;
private String usuario = "roger";
private String senha = "roger";
private Pessoa pessoa;
public PessoaDAO() {
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
conn = DriverManager.getConnection("jdbc:derby://localhost:1527/empresa",usuario,senha);
conn.setAutoCommit(true);
} catch (SQLException e) {
System.err.println("Erro: "+e);
conn = null;
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFound...");
e.printStackTrace();
}
}
public void salvar(Pessoa pessoa) {
try {
String query = "Insert into FUNCIONARIO(ID,NOME,EMAIL,TELEFONE,RUA,NUMERO,COMPL,BAIRRO,CIDADE,ESTADO,CEP,ADMISSAO,CPF) values (?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement p = conn.prepareStatement(query);
p.setInt(1,10);
p.setString(1,pessoa.getNome());
p.setString(1,pessoa.getEmail());
p.setInt(1,pessoa.getTelefone());
p.setString(1,pessoa.getRua());
p.setInt(1,pessoa.getNumero());
p.setString(1,pessoa.getCompl());
p.setString(1,pessoa.getBairro());
p.setString(1,pessoa.getCidade());
p.setString(1,pessoa.getEstado());
p.setInt(1,pessoa.getCep());
p.setString(1,pessoa.getAdmissao());
p.setInt(1,pessoa.getCpf());
int quantos = p.executeUpdate();
JOptionPane.showMessageDialog(null,"Atualizou "+quantos + " registros");
} catch(Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
}[/code]
E O JFrame
import javax.swing.*;
public class cadastra_gerente extends javax.swing.JFrame {
private Pessoa pessoa;
private PessoaDAO pessoaDAO;
/** Creates new form cadastra_gerente */
public cadastra_gerente() {
initComponents();
pessoa = new Pessoa();
pessoaDAO = new PessoaDAO();
}private void BtnEnviarActionPerformed(java.awt.event.ActionEvent evt) {
if (!validaComponentes()) {
return;
}
pessoa.setNome(TxtNome.getText());
pessoa.setEmail(TxtEmail.getText());
pessoaDAO.salvar(pessoa);
JOptionPane.showMessageDialog(null, "Pessoa "+pessoa.getNome()+ " cadastrada com sucesso.");
System.exit(0);
}
private void BtnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new cadastra_gerente().setVisible(true);
}
});
}
private boolean validaComponentes() {
if (TxtNome.getText() == null || TxtNome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Erro. Entre com o nome do funcionario");
return false;
}
return true;
}
// Variables declaration - do not modify
private javax.swing.JButton BtnCancelar;
private javax.swing.JButton BtnEnviar;
private javax.swing.JTextField TxtEmail;
private javax.swing.JTextField TxtNome;
private javax.swing.JTextField TxtNumero;
private javax.swing.JTextField TxtRua;
private javax.swing.JTextField TxtTelefone;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.ButtonGroup buttonGroup3;
private javax.swing.ButtonGroup buttonGroup4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JScrollBar jScrollBar1;
private javax.swing.JTextField jTextAdmissao;
private javax.swing.JTextField jTextBairro;
private javax.swing.JTextField jTextCep;
private javax.swing.JTextField jTextCidade;
private javax.swing.JTextField jTextCompl;
private javax.swing.JTextField jTextCpf;
private javax.swing.JTextField jTextEstado;
// End of variables declaration
}
A imagem anexa mostra o formulario e o erro: