Estou com problemas para saber como setar um indice que tem auto-increment

2 respostas
I

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!

2 Respostas

renato_ramos

Olá

já tentou ?

String SQL = "INSERT INTO Usuario (nomeUsuario,logradouroUsuario,bairroUsuario," +  
                    "cidadeUsuarioFK,estadoUsuarioFK,telefoneUsuario,cpfUsuario,emailUsuario,senhaUsuario,tipoUsuarioFK,cursoUsuario)

sem colocar o idUsuario no SQL

eu fazia assim.

TheThis

Exatamente,

tente não passar o idUsuario na SQL… Provavelmente vai funcionar, e irá incrementar o valor automaticamente no BD

[]'s

Criado 5 de novembro de 2009
Ultima resposta 5 de nov. de 2009
Respostas 2
Participantes 3