erro query
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.
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
Curtidas 0
Respostas
Discorpio
18/05/2009
Bom dia F4rr3LL
Tente assim:
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.
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.
GOSTEI 0
Edsant
18/05/2009
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?
Verifique se no banco vc tem permissão para fazer um UPDATE.
você está usando DBEXPress?
GOSTEI 0
F4rr3ll
18/05/2009
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
Agradeço a vc e aos outros que se prontificaram
Abraço a todos
GOSTEI 0