Variavel que se atualiza

4 respostas
F

Oi pessoal, estou fazendo uma aplicacao de uma locadora, porem estou tentando criar uma variavel estatica (codcli) pára o codigo do cliente que é a chave primaria, nao se repetir, porem ele nao esta se atualizando, alguem ai saberia porque?
ai vai o codigo:

public class Operacoes{
	private static int codigocli = 10;
	
	//metodo que atualiza a variavel
	public static int getCodigoCli() {
		codigocli++;
		return codigocli;
		}
	//metodo que insere o novo cliente. ele passa a stringsql para a 
	//classe de conexao com o banco que executa a string
	public static void inserirCliente(int codcli, String nomecli){
	   try
	 {
	   String stringsql="insert into clientes(codigoCli,nome) values (";
	    stringsql+=codcli+",'";
	    stringsql+=nomecli+"')";
	    ConexaoBD.conectar(stringsql);
	 }
	  catch(Exception ex)
	    {
	      System.out.println("Erro!!");
	     }
	 }
	public static void main (String args[])
	 {  int codcli = getCodigoCli();
	 	String nomecli = "abcs";
	 	inserirCliente(codcli,nomecli); 
	 }
}

e importante salientar que se a tabela do banco estiver vazia ele insere o primeiro cliente. quando faco denovo, ele nao insere mais, justamente porque o codigo é igual. se eu alterar manualmente para um numero aleatorio a variavel codcli, ele atualiza, ou seja, verifica-se que o erro é justamente na atualizacao da variavel automaticamente.

4 Respostas

R

Tá ficando sempre com o valor 11? É que do jeito que tá vai sempre iniciar com o valor 10:

Não é isso?

F

e como eh que eu faço pra a variaves ser somada e depois o valor seja salvo para qie ela sempre some mais um e nao fique repetindo da forma que esta?

R

Tem que ver no banco de dados qual o último registro (último código) e iniciar a partir do seguinte.

M

fer_scalia,

Porque você não cria uma SEQUENCE no banco de dados? Sempre q vc for inserir um cliente na tabela vc faz SEQ_COD_CLIENTE.nextval e pronto. O próprio banco cuida de incrementar o valor da sequence e manter a integridade da chave…[/b]

Criado 29 de dezembro de 2004
Ultima resposta 30 de dez. de 2004
Respostas 4
Participantes 3