Pessoal.
Abaixo tenho um método que faz o cadastro de uma usuario em BD Access … Não estou conseguindo cadastrar sem ter que colocar um valor no idUsuario, porém o campo está como auto-increment…Logicamente não precisaria dessa método… pst.setInt(1, 11); …mas ele só tá aceitando assim. Alguém me ajude por favor
Abaixo o código
public void CadastrarUsuario(BeanUsuario usuario) throws ClassNotFoundException {
Connection conexao = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String bd = "jdbc:odbc:meubanco";
conexao = DriverManager.getConnection(bd);
//System.out.println("A conexão foi um sucesso");
// Utilizamos o método createStatement de con para criar o Statement
// Vamos executar o seguinte comando SQL :
String SQL = "INSERT INTO Usuario (idUsuario, nomeUsuario,logradouroUsuario,bairroUsuario," +
"cidadeUsuarioFK,estadoUsuarioFK,telefoneUsuario,cpfUsuario,emailUsuario,senhaUsuario,tipoUsuarioFK,cursoUsuario)" +
"values(?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement pst = conexao.prepareStatement(SQL);
pst.setInt(1, 11);
pst.setString(2, usuario.getNome());
pst.setString(3, usuario.getLogradouro());
pst.setString(4, usuario.getBairro());
pst.setInt(5, usuario.getCidade());
pst.setInt(6, usuario.getEstado());
pst.setString(7, usuario.getTelefone());
pst.setString(8, usuario.getCpf());
pst.setString(9, usuario.getEmail());
pst.setString(10, usuario.getSenha());
pst.setInt(11, usuario.getTipo());
pst.setString(12, usuario.getCurso());
pst.executeUpdate();
pst.clearParameters();
// return cadastrou;
} catch (SQLException e) {
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
// return false;
} finally {
try {
conexao.close();
} catch (SQLException onConClose) {
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
}
public void RemoverUsuario(BeanUsuario usuario) throws ClassNotFoundException {
Connection conexao = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String bd = "jdbc:odbc:meubanco";
conexao = DriverManager.getConnection(bd);
String SQL = "delete from Usuario where idUsuario = ?";
PreparedStatement pst = conexao.prepareStatement(SQL);
pst.setInt(1, usuario.getId());
pst.executeUpdate();
pst.clearParameters();
// return cadastrou;
} catch (SQLException e) {
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
// return false;
} finally {
try {
conexao.close();
} catch (SQLException onConClose) {
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
}
Obrigado a todos que puderem ajudar!