update - sql
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.
agradeço desde já
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
Curtidas 0
Respostas
Emerson Nascimento
10/06/2004
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´...
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
Wolverine
10/06/2004
amigo
de onde vem quantidade, como vc esta alimentando o mesmo
de onde vem quantidade, como vc esta alimentando o mesmo
GOSTEI 0
Framosip
10/06/2004
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.
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
Wolverine
10/06/2004
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
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
Emerson Nascimento
10/06/2004
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].
o problema é q o código está fixado em ´2´ e a célula nunca muda. é sempre [0,0].
GOSTEI 0
Framosip
10/06/2004
amigos o que esta acontecendo é , quando eu coloco para atualizar o campo quantidade por um numero que eu defino no código , por exemplo
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:
o erro que da é:
Eu uso banco de dados paradox.....nome da tabela estoque
campos:
id;codigo;produto;quantidade;categoria
agradeço desde já
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 é:
Eu uso banco de dados paradox.....nome da tabela estoque
campos:
id;codigo;produto;quantidade;categoria
agradeço desde já
GOSTEI 0
Framosip
10/06/2004
alguém??
GOSTEI 0
Framosip
10/06/2004
alguém pode ma ajudar?? realmente estou precisando!!
GOSTEI 0
Framosip
10/06/2004
problema resolvido, obrigado a todos.
GOSTEI 0