Como inserir no banco com pk?

Ae pessoal, blz?

me surgiu uma duvida aqui agora, seguinte:

tenho minha tabela login com os campos:

CREATE TABLE aa58256_login (
  idlogin NUMBER PRIMARY KEY,
  usuario VARCHAR(20)   NOT NULL ,
  senha VARCHAR(10)   NOT NULL
);

minha duvida: na hora de inserir no banco pelo eclipse:

PreparedStatement stm = con.prepareStatement("insert into aa58256_login (idlogin, usuario, senha) VALUES (?,?,?)"); 		
		stm.setInt(1, 1);//minha duvida eh o q colocar aqui ja que esse campo no bd eh pk e eh auto incrementado automaticamente...e como eu faco pra retornar esse numero tb
		stm.setString(2, txt1.getText());
		stm.setString(3, pass.getText());
		stm.execute();
		stm.close();

vlw

Não precisa passar esse valor, o banco vai gerar automaticamente.

Tente fazer assim:

PreparedStatement stm = con.prepareStatement("insert into aa58256_login (usuario, senha) VALUES (?,?)"); stm.setString(1, txt1.getText()); stm.setString(2, pass.getText()); stm.execute(); stm.close();

blz, mas me surgiu outra duvida, acho que fiz coisa errada ao criar a tabela!

primary key eh auto increment? ou tenho que colocar auto increment depois que defino o pk?

Ai voce nao especificou nada sobre ela ser auto increment, para isso, em mysql por exemplo, voce pode adicionar AUTO_INCREMENT ali na variavel, antes da ‘,’.
Alem disso, voce pode nao por nada para o bd gerenciar, porem, se der erro, voce pode simplesmente passar o valor 0, que ele fará a coisa certa a se fazer.

Espero ter ajudado.

Tiberio, esqueci de colocar ali, mas preciso sim que seje auto increment essa id para que ela nunca seja duplicada, porem uso oracle, e no oracle n funciona esse auto increment

Exato, nao existe, por isso voce pode criar uma sequence e uma trigger…
Para melhor exemplificar…segue um artiguinho…

http://www.bau-de-dev.com/banco-de-dados/como-criar-um-campo-auto-increment-no-oracle

Abç !