Fórum Erro ao adicionar código SQL à Query - O que está errado? #169937
17/07/2003
0
Não consigo descobrir onde estou errando!!
A minha query para Alteração contém:
´UPDATE tabela
SET Campo = :PARÂMETRO...´
onde passo os valores por parâmetros, mas a cláusula:
´WHERE Campo = ...´
para que ele possa alterar apenas um determinado registro eu passo em tempo de execução (de dentro do programa):
DM.QryAlteração.SQL.ADD(´ WHERE Campo = ´ + #39 + (Var) + 39 +
´ AND OutroCampo = ´ + 39 + (Var2) + 39)
Pois eu quero passar variáveis para a Query (´Var´ e ´Var2´)!!!
>> Eu já verifiquei que estas variáveis estão sendo enxergadas neste momento!!!
Ao executar não dá erro nenhum, mas parece que simplesmente ele ignora esta linha do código (onde eu adiciono na query a cláusula WHERE), pois ele altera todos os registros da tabela, como se não houvesse condição!!
O que eu faço pelo amor de Deus?????
Obrigada!!!
Fatima
Curtir tópico
+ 0Posts
17/07/2003
Rômulo Barros
Provavelmente vc está utilizando o seguinte comando:
DM.QryAlteração.[color=red:cf97de03a5]Open[/color:cf97de03a5];
// O ´DM.QryAlteração.Open´ deve ser utilizado apenas para consultas...
Tente o Seguinte:
DM.QryAlteração.[color=red:cf97de03a5]ExecSql[/color:cf97de03a5];
// O ´DM.QryAlteração.ExecSql´ Deve ser utilizado quando tivermos instruções como ´Insert, Update, Delete...´ em nossa query...
Gostei + 0
17/07/2003
Midas
with dtmodule.query do
begin
sql.clear;
close;
sql.add(´update tabela´);
sql.add(´set campo=parametros´);
sql.add(´where ....´);
paramby(´parametro1´):=....;
paramby(´parametro2´):=...;
....
execsql;
update;
end;
tente assim...
Gostei + 0
17/07/2003
Delmar
Antes de executar, vc pode verificar se a sintaxe ficou correta
exibindo a string SQL
showmessage(query1.SQL.Text);
Assim como os demais colegas, reforço a sugetão de que troque as variáveis, por parâmetros
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)