Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JOSE MARIA

erro parametros no mysql

Recommended Posts

tenho um form para reajustar preços de vendas de produtos por grupo, ou seja o usuario seleciona o grupo e digita o valor do percentual de aumento no edit1, ai confirmar e assim os preços de venda dos produtos que fazem parte do grupo selecionado pelo usuario serao alterados.USO DELPHI COM MYSQL - ADOCONECTION E ADOQUERY.

 

minha tabela produtos

codprod (chave primaria)

codgrupo (chave estrangeira)

precovenda

....

 

tabela grupos

codgrupo(chave primaria)

grupo

 

esta dando erro de parametros, nao estou conseguindo resolver...alguem pode me ajudar...

 

Project 'nomedoprojeto.exe raised exception class EOleException wiht message '[MYSQL]ODBC 3,51

dRIVER]MYSQL-5.0.15-NT] You have an error in you SQL syntax; check the manual that corresponds to

your Mysql server version for the right syntax to use near 'update produtos set precovenda =

((precovenda/100) * NULL

where'. Process stopped. Use step or run to continue..

 

procedure Tfrmreajustar.SpeedButton1Click(Sender: TObject);
begin
with dmpedidos.ADOQueryreajustar do
   begin
   Close;
   SQL.Add('update produtos set precovenda = ((precovenda/100) * :percentual');
   SQL.Add('where codgrupo = :codgrupo');
   Parameters.ParamByName('percentual').Value:= strtofloatdef (edit1.Text, 0);
   Parameters.ParamByName('codgrupo').Value := dmpedidos.adoquerygrupocodgrupo.AsInteger;
   ExecSQL;
   //open;
   end;
   end;

 

segue codigo da adoquery no datamodule;

 

update produtos set precovenda = ((precovenda/100) * :percentual))
   where codgrupo = :codgrupo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se o strtofloatdef (edit1.Text, 0) esta retornando um valor válido. Verifique tambem se o parametro esta sendo realmente preenchido. utilize CTRL + F7.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.