Fórum Duvidas facil SQL #170088
18/07/2003
0
query1.add.close;
query1.add.clear;
query1.add.sql(´select codigo, aluno, ativo´);
query1.add.sql(´from tbalunos´);
query1.add.sql(´where ativo=´Sim´´);
query1.open;
dai estes alunos aparecem em uma grid, quero que ao clicar em um botao por exemplo ´desativar´ o registro selecionado ex. aluno ´marcelo´ que esta ativo=Sim passe para ativo=Não...
obrigado aguardo resposta....
Zacca
Curtir tópico
+ 0Posts
18/07/2003
Datorre
Use outra query, nela, vc faz um update, se for um registro só é fácil pegar o registro q vc quer alterar, tipo Query1.Fields[0].asstring pegará o promeiro campo da tabela seleciona.
Caso seja mais de um registro, faça um loop até terminar as alterações...
Gostei + 0
18/07/2003
Jairroberto
Veja um exemplo:
Defina a propriedade SQL de um componente TQuery da seguinte forma:
Query2.SQL.Text := ´UPDATE tbalunos SET ativo = "Não" WHERE codigo = :codigo´;
No evento OnClick do botão desativar escreva o seguinte código:
Query2.ParamByName(´codigo´).AsInteger := Query1.FieldByName(´codigo´).AsInteger; Query2.ExecSQL; Query1.Close; Query1.Open;
Um abraço,
Jair
Gostei + 0
18/07/2003
Zacca
tipo se fosse uma tabeela normau eu faria um findnerest mas no query nao aceita...
obrigado...
Gostei + 0
18/07/2003
Jairroberto
Use o método Locate:
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; virtual;
type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = setof TLocateOption;
Veja um exelplo:
Query1.Locate(´nome´, Edit1.Text, [loCaseInsensitive, loPartialKey]);
Veja o help do Delphi para entender melhor o funcionamento do método Locate.
Um abraço,
Jair
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)