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ç !