Fórum update - sql #237202

10/06/2004

0

Amigos,

eu tenho um button que ao ser clicado atualiza todos os registros de um stringrid , que tenha um definido código , bom pelo menos essa era a intençao , mais quando clico da erro . Segue abaixo o meu código para alguém me ajudar.

if caixa.Cells[0,0] = ´´ then 
   begin 
      showmessage(´Nenhum produto cadastrado na nota´); 
   end else 
   begin 
      with consulta_venda do 
           begin 
             while caixa.Cells[0,0] <> ´´ do 
                   begin 
                      close; 
                      sql.Clear; 
                      sql.Add(´update estoque set quantidade : cc´); 
                      sql.Add(´WHERE codigo = "2"´); 
                      parambyname(´cc´).Value := caixa_vendida.Text; 
                      ExecSQL; 
                      caixa.Cells[0,0] := ´´ 
                    end; 
             end; 
    end;
end; 

end. 





agradeço desde já


Framosip

Framosip

Responder

Posts

11/06/2004

Emerson Nascimento

tente assim:

if caixa.Cells[0,0] = ´´ then
    showmessage(´Nenhum produto cadastrado na nota´)
else
    with consulta_venda do
    begin
        close;
        sql.Clear;
        sql.Add(´update estoque set quantidade = (quantidade - :cc)´);
        sql.Add(´WHERE codigo = ´2´´);
        parambyname(´cc´).Value := StrToInt(caixa_vendida.Text);
        prepare;
        ExecSQL;
        caixa.Cells[0,0] := ´´;
    end;

eu só não entendi o porque do código estar fixado como ´2´...


Responder

Gostei + 0

11/06/2004

Wolverine

amigo
de onde vem quantidade, como vc esta alimentando o mesmo


Responder

Gostei + 0

11/06/2004

Framosip

Emerson,

ainda não testei, mais quanto ao meu WHILE , que eu tinha que fazia o procedimento de update enquanto caixa.Cells[0,0] <> ´´ , como ficaria??


Wolverine , o quantidade é o meu campo no banco de dados.

obrigado a atenção de todos.


Responder

Gostei + 0

11/06/2004

Wolverine

amigo, qual o erro , tranescreva-lo aqui
qual o seu BD, os campos existem, pq o cod esta certo, tenta retirar o
prepare;

ja tento fazer o update sem consulta_venda , faça sem nada so o update


Responder

Gostei + 0

11/06/2004

Emerson Nascimento

o que vc quer é varrer uma determinada coluna. enquanto tiver valor vc atualiza. correto?

o problema é q o código está fixado em ´2´ e a célula nunca muda. é sempre [0,0].


Responder

Gostei + 0

11/06/2004

Framosip

amigos o que esta acontecendo é , quando eu coloco para atualizar o campo quantidade por um numero que eu defino no código , por exemplo

procedure Tlogado.bot_fecha_vendaClick(Sender: TObject);
begin


        if caixa.Cells[0,0] = ´´ then
                begin
                        showmessage(´Nenhum produto cadastrado na nota´);
                end else
                        begin

                            with consulta_venda do
                                  begin
                                        while caixa.Cells[0,0] <> ´´ do
                                                begin

                                                close;
                                                sql.Clear;
                                                sql.Add(´update estoque set quantidade = "2"´);
                                                sql.Add(´WHERE codigo = "2"´);
                                                
                                                ExecSQL;
                                                caixa.Cells[0,0] := ´´

     

                                                end;
                                  end;

                        end;




end;

end.



eu defini que vai alterar o campo pra ´2´ ai funciona....

mais se eu colocar um parambyname da erro.

exemplo,se eu colocar um parambyname:



procedure Tlogado.bot_fecha_vendaClick(Sender: TObject);
begin


        if caixa.Cells[0,0] = ´´ then
                begin
                        showmessage(´Nenhum produto cadastrado na nota´);
                end else
                        begin

                            with consulta_venda do
                                  begin
                                        while caixa.Cells[0,0] <> ´´ do
                                                begin

                                                close;
                                                sql.Clear;
                                                sql.Add(´update estoque set quantidade : cc´);
                                                sql.Add(´WHERE codigo = "2"´);
                                                parambyname(´cc´).Value := caixa_vendida.Text;
                                                ExecSQL;
                                                caixa.Cells[0,0] := ´´



                                                end;
                                  end;

                        end;




end;

end.


o erro que da é:

[img:0b9f477ce5]http://www.framosweb.com/erro.jpg[/img:0b9f477ce5]



Eu uso banco de dados paradox.....nome da tabela estoque


campos:

id;codigo;produto;quantidade;categoria


agradeço desde já


Responder

Gostei + 0

12/06/2004

Framosip

alguém??


Responder

Gostei + 0

12/06/2004

Framosip

alguém pode ma ajudar?? realmente estou precisando!!


Responder

Gostei + 0

12/06/2004

Framosip

problema resolvido, obrigado a todos.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar