Alguem sabe que erro e esse?
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 2
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.clearParameter(JdbcOdbcPreparedStatement.java:1023)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setChar(JdbcOdbcPreparedStatement.java:3057)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setString(JdbcOdbcPreparedStatement.java:766)
at trabalho.PessoaDAO.inclua(PessoaDAO.java:62)
segue o codigo
[code]package trabalho;
// Data Access Object -> Objeto de Acesso a Dados
import genereico.AccessJDBCUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class PessoaDAO {
// variavel para guardar a conexão com o BD
private Connection con;
// variavel para acessar o BD via SQL
private PreparedStatement ps;
public PessoaDAO(){
try {
con = AccessJDBCUtil.getAccessDBConnection("D:\Trabalho.mdb");
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public String obtemContatosComoString(){
String str = "";
try {
ps = con.prepareStatement(
" SELECT * FROM trabalho " +
" ORDER BY codigo");
ResultSet rs = ps.executeQuery();
while(rs.next()){
str +=
rs.getString("nome") +", "+
rs.getString("dataNasc") +", "+
rs.getString("sexo") +", "+
rs.getString("cidade") +", "+
rs.getString("estado") +", "+
rs.getString("motivoDaMorte") +", "+
rs.getString("dataDaMorte") +", "+
rs.getString("dataDoEnterro")+"\n";
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return str;
}
public boolean inclua(Pessoa pessoa){
boolean sucesso;
try {
ps = con.prepareStatement(
" INSERT INTO trabalho " +
" (nome,dataNasc,sexo,cidade,estado,motivoDaMorte,dataDaMorte,dataDoEntero) VALUES (?,?) ");
ps.setString(1, pessoa.getNome());
ps.setString(2, pessoa.getDataNasc());
ps.setString(3, pessoa.getSexo());
ps.setString(4, pessoa.getCidade());
ps.setString(5, pessoa.getEstado());
ps.setString(6, pessoa.getMotivoDaMorte());
ps.setString(7, pessoa.getDataDaMorte());
ps.setString(8, pessoa.getDataDoIntero());
ps.executeUpdate();
sucesso = true;
} catch (SQLException ex) {
ex.printStackTrace();
sucesso = false;
}
return sucesso;
}
}[/code]
e o codigo da classe que vai dar o salvar pra inserir nova linha
[code]package trabalho;
import genereico.ManipulaTxt;
import javax.swing.JOptionPane;
public class Trabalho extends javax.swing.JFrame {
private String nomes, msg;
public Trabalho() {
super("Funeraria Jesus Te Chama");
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
nome = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
dataNasc = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
sexo = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
cidade = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
estado = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
motivoDaMorte = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
dataMorte = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
dataEntero = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
taDados = new javax.swing.JTextArea();
btSalvar = new javax.swing.JButton();
btExcluir = new javax.swing.JButton();
btAlterar = new javax.swing.JButton();
btSair = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Nome");
nome.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nomeActionPerformed(evt);
}
});
jLabel3.setText("Data Nasc");
jLabel4.setText("Sexo");
jLabel5.setText("Cidade");
jLabel6.setText("Estado");
jLabel7.setText("Causa da Morte");
jLabel8.setText("Data Morte");
jLabel9.setText("Data Enterro");
taDados.setColumns(20);
taDados.setRows(5);
jScrollPane1.setViewportView(taDados);
btSalvar.setText("Salvar");
btSalvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btSalvarActionPerformed(evt);
}
});
btExcluir.setText("Excluir");
btAlterar.setText("Alterar");
btSair.setText("Sair");
btSair.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btSairActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(76, 76, 76)
.addComponent(jLabel3))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(dataNasc, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(17, 17, 17)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(sexo, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(estado, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cidade, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(dataMorte, javax.swing.GroupLayout.DEFAULT_SIZE, 67, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(dataEntero, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(motivoDaMorte, javax.swing.GroupLayout.DEFAULT_SIZE, 367, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(btSalvar)
.addGap(18, 18, 18)
.addComponent(btExcluir)
.addGap(18, 18, 18)
.addComponent(btAlterar)
.addGap(18, 18, 18)
.addComponent(btSair)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(dataNasc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(estado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(sexo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(jLabel8)
.addComponent(dataMorte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(dataEntero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(motivoDaMorte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(26, 26, 26)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btSalvar)
.addComponent(btExcluir)
.addComponent(btAlterar)
.addComponent(btSair))
.addContainerGap(57, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void btSairActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
private void btSalvarActionPerformed(java.awt.event.ActionEvent evt) {
PessoaDAO dao = new PessoaDAO();
Pessoa pessoa = new Pessoa();
pessoa.setNome(nome.getText());
pessoa.setDataNasc(dataNasc.getText());
pessoa.setSexo(sexo.getText());
pessoa.setCidade(cidade.getText());
pessoa.setEstado(estado.getText());
pessoa.setMotivoDaMorte(motivoDaMorte.getText());
pessoa.setDataDaMorte(dataMorte.getText());
pessoa.setDataDoIntero(dataEntero.getText());
if (dao.inclua(pessoa)) {
JOptionPane.showMessageDialog(this, pessoa.getNome() + " Incluido com sucesso!");
nome.setText("");
dataNasc.setText("");
sexo.setText("");
cidade.setText("");
estado.setText("");
motivoDaMorte.setText("");
dataMorte.setText("");
} else {
JOptionPane.showMessageDialog(this, "Nao foi possivel incluir " + pessoa.getNome());
}
nomes =("nome: " + nome.getText()+"\n dataNasc: " + dataNasc.getText()+ "\n sexo: "+sexo.getText()+
"\n cidade: " + cidade.getText()+"\n estado: "+estado.getText()+"\n motivoDaMorte: "+
motivoDaMorte.getText()+"\n dataDaMorte: "+ dataMorte.getText()+"\n dataDoEnterro: "+dataEntero.getText());
ManipulaTxt txt = new ManipulaTxt("D:\" + ".txt");
txt.insereLinha(msg+"\n"+nomes,btSalvar.isSelected());
JOptionPane.showMessageDialog(null,"Cliente cadastrado com susseso!!!");
}
private void nomeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Trabalho().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btAlterar;
private javax.swing.JButton btExcluir;
private javax.swing.JButton btSair;
private javax.swing.JButton btSalvar;
private javax.swing.JTextField cidade;
private javax.swing.JTextField dataEntero;
private javax.swing.JTextField dataMorte;
private javax.swing.JTextField dataNasc;
private javax.swing.JTextField estado;
private javax.swing.JLabel jLabel1;
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.JScrollPane jScrollPane1;
private javax.swing.JTextField motivoDaMorte;
private javax.swing.JTextField nome;
private javax.swing.JTextField sexo;
private javax.swing.JTextArea taDados;
// End of variables declaration
}[/code]