Alterar vários dados numa table de uma vez
Assim, que fazer uma alteração numa tabela mas não sei o procedimento
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
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
Curtidas 0
Respostas
Dankada
17/06/2004
´Update cliente set ativo = ´´false´ WHERE idade = ´+idadeEscolhida+´ ´
creio eu que a sql eh essa, não tenho certeza para a condicao false se é assim.
qualquer coisa posta ae.
creio eu que a sql eh essa, não tenho certeza para a condicao false se é assim.
qualquer coisa posta ae.
GOSTEI 0
Dankada
17/06/2004
´Update cliente set ativo = ´´false´ WHERE idade = ´+idadeEscolhida+´ ´
creio eu que a sql eh essa, não tenho certeza para a condicao false se é assim.
qualquer coisa posta ae.
corrigindo
´Update cliente set ativo = ´´false´ WHERE idade = ´+idadeEscolhida+´ ´
GOSTEI 0
Henrique Rodrigues
17/06/2004
tá aí a linha qaue tenteio problema é que não sei qual a oção que vai onde está XXXXX
dados.Q_C_Prazo_Geral_Contas.XXXXX (´update C_Prazo_Geral set ativo = ´false´ WHERE cod_cliente = ´+ localizar_cliente + ´´);
dados.Q_C_Prazo_Geral_Contas.XXXXX (´update C_Prazo_Geral set ativo = ´false´ WHERE cod_cliente = ´+ localizar_cliente + ´´);
GOSTEI 0
Paulo_amorim
17/06/2004
Olá
Se for uma TQuery,
SQL.Text := ...;
ou ainda
SQL.Add( ... );
Espero que ajude
Até+
Se for uma TQuery,
SQL.Text := ...;
ou ainda
SQL.Add( ... );
Espero que ajude
Até+
GOSTEI 0
Henrique Rodrigues
17/06/2004
tem isso mas tb não deu!
GOSTEI 0
Henrique Rodrigues
17/06/2004
a linha de código
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.sql.text := ´update C_Prazo_Geral set ativo = false WHERE cod_cliente = ´+ localizar_cliente + ´´;
GOSTEI 0
Aroldo Zanela
17/06/2004
Colega,
Se [b:084aad0906]localizar_cliente[/b:084aad0906] for string, então remova a função e os parenteses.
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
Henrique Rodrigues
17/06/2004
também não deu certo
GOSTEI 0
Henrique Rodrigues
17/06/2004
fiz assim,
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
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
Henrique Rodrigues
17/06/2004
Traduzindo ao pé da letra, ele está dizendo que a propriedade text não pode assumir nunhum valor porque o comando set não devolve valores.
poe isso é que funciona, mas aparece a mensagem na tela.
poe isso é que funciona, mas aparece a mensagem na tela.
GOSTEI 0
Dankada
17/06/2004
fiz assim,
dados.Q_C_Prazo_Geral_Contas.sql.Text := ´update C_Prazo_Geral set ativo = false WHERE cod_cliente = ´+ localizar_cliente+´;
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
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
Aroldo Zanela
17/06/2004
Traduzindo ao pé da letra, ele está dizendo que a propriedade text não pode assumir nunhum valor porque o comando set não devolve valores.
poe isso é que funciona, mas aparece a mensagem na tela.
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
Henrique Rodrigues
17/06/2004
DaNKaDa, seu código funcionou perfeitamente, obrigado.
Obrigado a todos os que me ajudaram!!!!!!!
Obrigado a todos os que me ajudaram!!!!!!!
GOSTEI 0