Como usar os parâmetros de consulta do ADO para especificar nomes de tabela e campo?
Estou executando umUPDATE
declaração em umTADOQuery
e estou usando parâmetros para algumas coisas. Inicialmente, isso funcionava muito bem, mas adicionei outro parâmetro para o nome da tabela e o nome do campo, e agora está quebrando.
O código é assim:
Q.SQL.Text:= 'update :tablename set :fieldname = :newid where :fieldname = :oldid';
Q.Parameters.ParamValues['tablename']:= TableName;
Q.Parameters.ParamValues['fieldname']:= FieldName;
Q.Parameters.ParamValues['oldid']:= OldID;
Q.Parameters.ParamValues['newid']:= NewID;
E o erro que recebo:
Estou assumindo que isso é porque estou usando esse nome de campo duas vezes. Eu posso superar isso usando outro nome de campo exclusivo pela segunda vez que ele é usado, mas ainda tenho outro erro:
Como eu uso os parâmetros para especificar a tabela e o campo para atualizar?