Fórum update - sql #237202
10/06/2004
0
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
Curtir tópico
+ 0Posts
11/06/2004
Emerson Nascimento
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´...
Gostei + 0
11/06/2004
Wolverine
de onde vem quantidade, como vc esta alimentando o mesmo
Gostei + 0
11/06/2004
Framosip
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.
Gostei + 0
11/06/2004
Wolverine
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
Gostei + 0
11/06/2004
Emerson Nascimento
o problema é q o código está fixado em ´2´ e a célula nunca muda. é sempre [0,0].
Gostei + 0
11/06/2004
Framosip
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á
Gostei + 0
12/06/2004
Framosip
Gostei + 0
12/06/2004
Framosip
Gostei + 0
12/06/2004
Framosip
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)