importjava.sql.SQLException;importjava.util.Random;/** * * @author Joatan */publicclasstesteGujGERAR{staticprivateintquant=1;// define a quant que sera multiplicada por 5 em seu codigopublicstaticvoidmain(Stringarg[]){geradorNumeros();//chama seu metodo}publicstaticvoidgeradorNumeros(){// aqui está o metodo que você pegou no guj , só adptei pra oque ele gerar ser salvo no banco de dadosRandomgerarNumeros=newRandom();intarmazena;intcontador=quant*5;conexaoBancocon=newconexaoBanco();// usa a sua conexao com o banco de dadoscon.conectarBanco();//conectefor(inti=1;i<=contador;i++){armazena=1+gerarNumeros.nextInt(11);try{con.executarQuery("SELECT * from SUA TABELA");// atualizecon.st.executeUpdate("insert into SUA TABELA(SEU CAMPO) values('"+armazena+"')");// salveSystem.out.println(armazena+" - salvo com sucesso no banco de dados");}catch(SQLExceptionex){ex.printStackTrace();}if(i%5==0){System.out.println("Processo terminado");con.close();}}}}
Depois de conectado e o seu banco configurado, vc deve fazer com que seu for mande salvar no seu banco de dados, no caso, o insert.
Sugiro fazer as seguintes mudanças
publicvoidgeradorNumeros(){Connectioncon;Stringsql="insert into SUA_TABELA (CAMPOS_DA_SUA_TABELA) values ?";//Edite aqui ara colocar direito os campos da sua tabela. a ? serve para o PreparedStatementPreparedStatementpstm;RandomgerarNumeros=newRandom();intarmazena;intcontador=quant*5;for(inti=1;i<=contador;i++){armazena=1+gerarNumeros.nextInt(11);pstm.setInt(1,armazena);// coloca o valor da variável na 1ª interrogaçãopstm.execute();// executa a cláusula SQL//System.out.printf("%d", armazena);if(i%5==0){System.out.println();}con.close();}
Depois de conectado e o seu banco configurado, vc deve fazer com que seu for mande salvar no seu banco de dados, no caso, o insert.
Sugiro fazer as seguintes mudanças
publicvoidgeradorNumeros(){Connectioncon;Stringsql="insert into SUA_TABELA (CAMPOS_DA_SUA_TABELA) values ?";//Edite aqui ara colocar direito os campos da sua tabela. a ? serve para o PreparedStatementPreparedStatementpstm;RandomgerarNumeros=newRandom();intarmazena;intcontador=quant*5;for(inti=1;i<=contador;i++){armazena=1+gerarNumeros.nextInt(11);pstm.setInt(1,armazena);// coloca o valor da variável na 1ª interrogaçãopstm.execute();// Não ta faltando um parametro aqui? < //System.out.printf("%d", armazena);if(i%5==0){System.out.println();}con.close();}
pstm.execute(sql); não? ^^
mesmo assim acho que ela começar com statement sera melhor.
J
jfrancosoares
Amigos!
Eu tentei fazer desta forma… mas o que acontece é que a variável ‘armazena’ guarda somente o ultimo numero gerado depois que passa pelo ‘for’ pois, após a passagem pelo ‘for’ ele imprime no console o valor gerado… enquanto ele não entra na condição ‘if’ e vai imprimindo no console a sequencia de números gerados. À partir do momento que ele entra no if, ele pula para a próxima linha e gera uma nova sequencia de números.
Se eu colocar da forma que foi exemplificado ele vai salvar no banco um por um dos números gerados, ou seja, se ele gera a sequencia 12345, cada número deste vai ocupar uma linha no banco.
Neste caso eu teria que guardar cada numero gerado e depois que ele entrasse no if é que eu deveria salvar no banco com a sequencia de números gerados.
Não sei bem se neste caso eu devo colocar dentro de um vetor.
JoatanGuj
jfrancosoares:
Amigos!
Eu tentei fazer desta forma… mas o que acontece é que a variável ‘armazena’ guarda somente o ultimo numero gerado depois que passa pelo ‘for’ pois, após a passagem pelo ‘for’ ele imprime no console o valor gerado… enquanto ele não entra na condição ‘if’ e vai imprimindo no console a sequencia de números gerados. À partir do momento que ele entra no if, ele pula para a próxima linha e gera uma nova sequencia de números.
Se eu colocar da forma que foi exemplificado ele vai salvar no banco um por um dos números gerados, ou seja, se ele gera a sequencia 12345, cada número deste vai ocupar uma linha no banco.
Neste caso eu teria que guardar cada numero gerado e depois que ele entrasse no if é que eu deveria salvar no banco com a sequencia de números gerados.
Não sei bem se neste caso eu devo colocar dentro de um vetor.
oque você quer guardar no banco de dados?
J
jfrancosoares
Vou ver se consigo explicar melhor…
Quando chamo o método public void geradorNumeros() ele entra no for, passa pelo armazena = 1 + gerarNumeros.nextInt(11); e neste momento ele gera um número (por exemplo 1) e imprime no console System.out.printf("%d", armazena); quando ele volta no for ele gera um outro número que substitui o número anterior que estava na variável ‘armazena’ e imprime no console (por exemplo 2) e assim sucessivamente… vamos supor que ele passa no for 5 vezes e gera a sequencia 12345…
se eu mandar setar no banco a variável ‘armazena’ ele vai setar cada valor em uma linha do banco… sendo que eu preciso guardar valor por valor e algum lugar e setar a sequencia inteira no banco…
Espero que eu tenha conseguido explicar, o que eu preciso.
JoatanGuj
jfrancosoares:
Vou ver se consigo explicar melhor...
Quando chamo o método
public void geradorNumeros()
ele entra no for, passa pelo
armazena = 1 + gerarNumeros.nextInt(11);
e neste momento ele gera um número (por exemplo 1) e imprime no console
System.out.printf("%d", armazena);
quando ele volta no for ele gera um outro número que substitui o número anterior que estava na variável 'armazena' e imprime no console (por exemplo 2) e assim sucessivamente... vamos supor que ele passa no for 5 vezes e gera a sequencia 12345....
se eu mandar setar no banco a variável 'armazena' ele vai setar cada valor em uma linha do banco... sendo que eu preciso guardar valor por valor e algum lugar e setar a sequencia inteira no banco....
Espero que eu tenha conseguido explicar, o que eu preciso.
importjava.sql.PreparedStatement;importjava.sql.SQLException;importjava.util.Random;/** * * @author Joatan */publicclasstesteGujGERAR{staticprivateintquant=1;// define a quant que sera multiplicada por 5 em seu codigostaticStringAUX="";publicstaticvoidmain(Stringarg[]){geradorNumeros();//chama seu metodo}publicstaticvoidgeradorNumeros(){RandomgerarNumeros=newRandom();intarmazena;intcontador=quant*5;conexaoBancocon=newconexaoBanco();// usa a sua conexao com o banco de dadoscon.conectarBanco();//conectefor(inti=1;i<=contador;i++){armazena=1+gerarNumeros.nextInt(11);AUX=AUX+String.valueOf(armazena);if(i%5==0){try{con.executarQuery("SELECT * from SUA TABELA");// atualizecon.st.executeUpdate("insert into SUA TABELA(SEU CAMPO) values('"+Integer.parseInt(AUX)+"')");// salveSystem.out.println(armazena+" - salvo com sucesso no banco de dados");}catch(SQLExceptionex){ex.printStackTrace();}}}}}
tae espero que eu tenha ajudado ^^ com pode ver oque vc ter que mandar pro banco é o AUX que eu criei pra tranformar a int em string e concatenar tudo depois converter em int de novo.
J
jfrancosoares
JoatanGuj, muito obrigada… sua dica me ajudou direitinho…
Era exatamente isto que eu precisava…
Mto obrigada à todos!
Valeu
JoatanGuj
jfrancosoares:
JoatanGuj, muito obrigada… sua dica me ajudou direitinho…