Fórum Passar parametro em Run-Time para o TADOQuery #316935

21/03/2006

0

Olá pessoal...

Hoje me deparei com um problema quen não consegui resolve-lo...

Estou tentando passar parâmetros em tempo de execução para o componente TADOQuery, só que o componente não está reconhecendo os mesmos. Ex.:

ADOQuery1.Sql.Add(´Update usuario set nome = :nome´);
ADOQuery1.Parameters.ParamByName(´nome´).DataType := ftString;
ADOQuery1.Parameters.ParamByName(´nome´).Value := ´Gerfferson Santos´;
ADOQuery1.ExecSql;

Ao executar esse comando, é retornado um erro falando que o parametro (nome) não existe.

Alguém poderia me ajudar?

Atenciosamente,


Gerfferson

Gerfferson

Responder

Posts

21/03/2006

Paullsoftware

ADOQuery1.Sql.Add(´Update usuario set nome = :nome´); ADOQuery1.Parameters.ParamByName(´nome´).DataType := ftString; ADOQuery1.Parameters.ParamByName(´nome´).Value := ´Gerfferson Santos´; ADOQuery1.ExecSql;

:!: não está informando qual registro receberá a alteração com a cláusula [b:40cb37866a]Where[/b:40cb37866a], vamos tentar de outra forma pra ver no que dar?
tenta assim:
WITH ADOQuery1 DO
 BEGIN
 Close;
 SQL.Add(
         ´ UPDATE USUARIOS ´+
         ´ SET ´+
         ´ NOME=:NOME ´+
         ´ WHERE COD=:ID´);
 Parameters[0].Value := ´TESTANDO 123´;
 Parameters[1].Value := 2;
 ExecSQL;
 END;

aqui funcionou normal!


Responder

Gostei + 0

21/03/2006

Jrportela

Gefferson,

verifica se a propriedade ParamCheck da sua Query está ativa, se não tiver, ele não processa os parâmetros existentes na sua instrução SQL.

Até mais


Edivaldo Portela


Responder

Gostei + 0

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

Aceitar