Iai pessoal,
estou tendo problemas com inserção na base de dados access (lixo, lixo, lixo), alias só uso access pq sou obrigado.
Quando eu cadastro o primeiro registro ele funciona perfeitamente, mas ja no 2º ele me retorna o erro java.sql.SQLException: General error .
O que pode estar acontecendo??
Segue o código de conexão:
[code]public class ConnectionFactory {
private static final String DBNAME = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=E:/Zoo_Project/dataBase/dataBaseZoo.mdb";
private static final String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String DBROOT = "";
private static final String DBPASS = "";
public static Connection getConnection() throws SQLException{
try{
Class.forName(DBDRIVER);
return DriverManager.getConnection(DBNAME, DBROOT, DBPASS);
}catch(ClassNotFoundException e){
throw new SQLException(e.getMessage());
}
}
}[/code]
O código em outra classe de inserção:
[code]public synchronized void addFuncionario(Funcionario f) throws SQLException{
PreparedStatement ps = null;
try{
String sql = "INSERT INTO funcionario (funNome, funSobrenome, funEndereco, " +
"funEstado, funCargo, funTel, funCel, funEmail, funSexo, funSalario, " +
"funCpf, funBairro) VALUES (?, ? ,? ,? ,? ,? ,? ,? ,? ,? ,? ,?)";
ps = this.con.prepareStatement(sql);
ps.setString(1, f.getNome());
ps.setString(2, f.getSobrenome());
ps.setString(3, f.getEndereco());
ps.setString(4, f.getEstado());
ps.setString(5, f.getCargo());
ps.setString(6, f.getTel());
ps.setString(7, f.getCel());
ps.setString(8, f.getEmail());
ps.setString(9, f.getSexo());
ps.setDouble(10, f.getSalario());
ps.setString(11, f.getCpf());
ps.setString(12, f.getBairro());
ps.execute();
}catch(SQLException ex){
throw new SQLException(ex.getMessage());
}finally{
try{
ps.close();
con.close();
}catch(SQLException ex){
ex.printStackTrace();
}
}
}[/code]
e a chamada do método de cadastro:
[code] private void jButtonFunSalvarActionPerformed(java.awt.event.ActionEvent evt) {
Funcionario fun = new Funcionario();
fun.setBairro(jTextFieldFunBairro.getText());
fun.setCargo(jTextFieldFunCargo.getText());
fun.setCel(jFormattedTextFieldFunTel.getText());
fun.setCpf(jFormattedTextFieldFunCpf.getText());
fun.setEmail(jTextFieldFunEmail.getText());
fun.setEndereco(jTextFieldFunEnd.getText());
fun.setEstado(jTextFieldFunEst.getText());
fun.setNome(jTextFieldFunNome.getText());
fun.setSalario(Double.parseDouble(jTextFieldFunSal.getText()));
if(jRadioButtonFunMasc.isSelected())
fun.setSexo("Masculino");
else if(jRadioButtonFunFem.isSelected())
fun.setSexo("Feminino");
fun.setSobrenome(jTextFieldFunSobre.getText());
fun.setTel(jFormattedTextFieldFunTel.getText());
try {
FuncionarioDAO dao = new FuncionarioDAO();
dao.addFuncionario(fun);
JOptionPane.showMessageDialog(null, "Funcionario Cadastrado com sucesso",
"Zoológico", JOptionPane.INFORMATION_MESSAGE);
} catch (SQLException ex) {
ex.printStackTrace();
}
jTextFieldFunNome.requestFocus();
this.limpar();
}[/code]
Alguem ai por favor pode me ajudar??
abraço