Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Xuh

[Resolvido] Não estou conseguindo salvar alteração no BD

Recommended Posts

Bom dia !

 

 

Criei uma tabela para consultar clientes cadastrados , nessa tabela eu posso incluir um novo registro ou alterar um já existente . . . até aqui sem problema .

O problema está na hora de alterar algum dado de um registro existe , ao inves de atualizar os campos alterados, ele cria um novo registro . . . :rolleyes:

 

segue codigo para darem uma analisada

procedure insere_cliente(p_codigo number default null,
                         p_nome   varchar2 default null,
                         p_data   date default null,
                         p_rg     number default null,
                         p_cpf    number default null,
                         p_end    varchar2 default null,
                         p_num    number default null,
                         p_comp   varchar2 default null,
                         p_tel    number default null,
                         p_cep    number default null,
                         p_bai    varchar2 default null,
                         p_cid    varchar2 default null,
                         p_uf     varchar2 default null) is

    codigo     number(10);

      
    
begin

    select count(cod_cli) 
     into codigo 
     from clientesa
     where cod_cli = p_codigo;

  
    if  codigo = 0 then
      insert into clientesa (cod_cli, nome, data_nasc, rg, cpf, telefone, endereco, numero, complemento, bairro, cidade, cep, uf)
       values((select max(cod_cli)+1 from clientesa),p_nome, p_data,p_rg ,p_cpf ,p_tel ,p_end , p_num, p_comp ,p_bai ,p_cid ,p_cep ,p_uf );
   
   else
   
       update clientesa
       set nome         = p_nome ,
           data_nasc    = p_data ,
           rg           = p_rg ,
           cpf          = p_cpf ,
           endereco     = p_end ,
           numero       = p_num ,
           complemento  = p_comp ,
           telefone     = p_tel ,
           cep          = p_cep ,
           bairro       = p_bai ,
           cidade       = p_cid ,
           uf           = p_uf
       where cod_cli = p_codigo
       and nome = p_nome;
    end if;   

Compartilhar este post


Link para o post
Compartilhar em outros sites

você compara com

 

where cod_cli = p_codigo

 

mas insere

 

values((select max(cod_cli)+1 from clientesa)

 

Deve ser isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw Motta !!!

 

O problema estava no meu formulario !!!! http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Eu deixei o campo desabilitado !!!!!

 

<td>Código Filme</td>
                               <td><input type="text"  disabled="disabled" name="p_codigo"  size=4 maxlength=4 value="'||p_codigo||'" ></td>

 

e então só alterei para "readonly"

<td>Código Filme</td>
                               <td><input type="text"  readonly name="p_codigo"  size=4 maxlength=4 value="'||p_codigo||'" ></td>

aí funcionou perfeitamente !!!!

 

até mais . . .

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.