Fórum Alterar vários dados numa table de uma vez #238149
17/06/2004
0
exemplo:
supondo que numa tabela de clientes eu tenha a opção ativo que é do tipo boolean.
em outro campo eu teria a idade que seria integer
aí quero que num comado todos os que tenham uma determinada idade que eu escolha, o atributo da tabela(Ativo) seja alterado para false.
Se não fui muito claro me avisem que mudo a forma de explicar.
Agradeço Antecipadamente
Henrique Rodrigues
Curtir tópico
+ 0Posts
17/06/2004
Dankada
creio eu que a sql eh essa, não tenho certeza para a condicao false se é assim.
qualquer coisa posta ae.
Gostei + 0
17/06/2004
Dankada
corrigindo
´Update cliente set ativo = ´´false´ WHERE idade = ´+idadeEscolhida+´ ´
Gostei + 0
17/06/2004
Henrique Rodrigues
dados.Q_C_Prazo_Geral_Contas.XXXXX (´update C_Prazo_Geral set ativo = ´false´ WHERE cod_cliente = ´+ localizar_cliente + ´´);
Gostei + 0
17/06/2004
Paulo_amorim
Se for uma TQuery,
SQL.Text := ...;
ou ainda
SQL.Add( ... );
Espero que ajude
Até+
Gostei + 0
18/06/2004
Henrique Rodrigues
Gostei + 0
18/06/2004
Henrique Rodrigues
dados.Q_C_Prazo_Geral_Contas.sql.text := ´update C_Prazo_Geral set ativo = false WHERE cod_cliente = ´+ localizar_cliente + ´´;
Gostei + 0
18/06/2004
Aroldo Zanela
dados.Q_C_Prazo_Geral_Contas.sql.text := ´update C_Prazo_Geral set ativo = false WHERE cod_cliente = ´+ IntToStr(localizar_cliente);
Se [b:084aad0906]localizar_cliente[/b:084aad0906] for string, então remova a função e os parenteses.
Gostei + 0
18/06/2004
Henrique Rodrigues
Gostei + 0
18/06/2004
Henrique Rodrigues
dados.Q_C_Prazo_Geral_Contas.close;
dados.Q_C_Prazo_Geral_Contas.sql.clear;
dados.Q_C_Prazo_Geral_Contas.sql.add(´select * from C_Prazo_Geral where cod_cliente = ´+ localizar_cliente);
dados.Q_C_Prazo_Geral_Contas.sql.Text := ´update C_Prazo_Geral set ativo = false WHERE cod_cliente = ´+ localizar_cliente;
dados.Q_C_Prazo_Geral_Contas.open;
aí deu uma mensagem de erro:
Q_C_Prazo_Geral_Contas: CommanText does not return a result set
mas funcionou, não sei o que é essa mensagem
Gostei + 0
18/06/2004
Henrique Rodrigues
poe isso é que funciona, mas aparece a mensagem na tela.
Gostei + 0
18/06/2004
Dankada
coloca so isso
dados.Q_C_Prazo_Geral_Contas.close dados.Q_C_Prazo_Geral_Contas.sql.Text := ´update C_Prazo_Geral set ativo = false WHERE cod_cliente = ´+ localizar_cliente+´ ´; dados.Q_C_Prazo_Geral_Contas.ExecSQL;
Gostei + 0
18/06/2004
Aroldo Zanela
Colega,
A tradução apropriada é: Não retorna um conjunto de dados. (Set = Conjunto). Esta resposta sempre ocorre quando se tenta utilizar o método Open para instruções DDLs ou instruções DMLs diferentes de Select. Portanto, Open para Select e ExecSQL para as demais.
Gostei + 0
19/06/2004
Henrique Rodrigues
Obrigado a todos os que me ajudaram!!!!!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)