Fórum erro query #370541

18/05/2009

0

with zqrEstoque do
begin
zqrEstoque.Close;
zqrEstoque.SQL.Clear;
zqrEstoque.SQL.Add(´update estoque set ativo=´´S´´ ´);
zqrEstoque.SQL.Add(´where filial=:filial ´);
ParamByName(´FILIAL´).AsString := edtFilial.Text;
zqrEstoque.ExecSQL;
end;

Este codigo esta ligado a um botão, so que quando executo nao altera nada no banco de dados, e nao retorna erro algum.
Me ajudem estou precisando urgente executar este update na tabela e não consigo.


F4rr3ll

F4rr3ll

Responder

Posts

18/05/2009

Discorpio

Bom dia F4rr3LL

Tente assim:

  with zqrEstoque do 
  begin 
       zqrEstoque.Close; 
       zqrEstoque.SQL.Clear; 
       zqrEstoque.SQL.Add(´update estoque set ativo=´+QuotedStr(´S´)); 
       zqrEstoque.SQL.Add(´ where filial = :FILIAL ´); 
       ParamByName(´FILIAL´).AsString := edtFilial.Text; 
       zqrEstoque.ExecSQL; 
  end; 


Repare que usei a função QuotedStr(´S´) que insere aspas simples dentro de uma instrução SQL.

Repare também que dentro do SQL eu coloquei o parâmetro FILIAL todo em maiúsculo, isto porque no método ParamByName voce o utilizou todo ele em maiúsculo, isto pode parecer bobagem, mas o Dialect SQL do FireBird ou Interbase faz a diferenciação de parâmetros em maiúsculo ou minúsculo.

Se não atualizar, então é porque o registro cujo valor do critério passado no parâmetro, não foi encontrado e isto tem que também ser levado em consideração.


Responder

Gostei + 0

18/05/2009

Edsant

O Código aparentemente está correto, faça um select para ver se as informações aparecem....

Verifique se no banco vc tem permissão para fazer um UPDATE.

você está usando DBEXPress?


Responder

Gostei + 0

18/05/2009

F4rr3ll

Discorpio, valeu mesmo, fiz igual o codigo que vc corrigiu e bingo, dados alterados.
Agradeço a vc e aos outros que se prontificaram
Abraço a todos


Responder

Gostei + 0

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

Aceitar