Inserção de Dados com PreparedStatement

1 resposta
O

Caros colegas estou tendo um problema na inserção de dados com a classe PreparedStatement, no meu caso é no campo que é auto-numérico e chave primária de uma tabela que está dando erro segue o código aaixo:

Obs: o Banco é Access e os campos estão todos como String com exeção do codigo que é numérico e é o primeiro:

public void inserirCliente()throws Exception{

try{

PreparedStatement stmt = conexao.prepareStatement(insert into Cliente values ( null, ?, ?, ?, ?, ?, ?, ?, ?, ?));
stmt.setString(1, cli.getCpf());
        stmt.setString(2, cli.getNome());
        stmt.setString(3, cli.getEndereco());
        stmt.setString(4, cli.getBairro());
        stmt.setString(5, cli.getCidade());
        stmt.setString(6, cli.getUf());
        stmt.setString(7, cli.getTelefone());
        stmt.setString(8, cli.getSexo());
        stmt.setString(9, cli.getEmail());
        stmt.execute();
        stmt.close();
        
    }catch(Exception e){e.printStackTrace();}
 }

aproveitando de que maneira eu vou extrair os dados de um objeto que vem pela rede e inseri-los no banco;

Obs: Serializei a classe cliente e enviei através da classe ObjectOutputStream estou usando Socket.

alguem tem um exemplo prático

1 Resposta

C

Quando você quer incrementar sua chave primária automaticamente você deve omiti-la no PreparedStatement, ou seja, retirar o null e caso sua chave primaria seja getCpf(), retirar tbm.

Criado 27 de outubro de 2006
Ultima resposta 31 de out. de 2006
Respostas 1
Participantes 2