Duvidas facil SQL
ola estou passando o seguinte para um query
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....
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
Curtidas 0
Respostas
Datorre
18/07/2003
Olá...
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...
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
Jairroberto
18/07/2003
Olá, Zacca!
Veja um exemplo:
Defina a propriedade SQL de um componente TQuery da seguinte forma:
No evento OnClick do botão desativar escreva o seguinte código:
Um abraço,
Jair
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
Zacca
18/07/2003
irei testar este procedimento que me passaram mas aindao tenho outra dubvvida... gostaria de localizar um registro pelo campo nome neste query que esta filtrado por ativos=sim digitando em um campo e depois clicando em um botao...
tipo se fosse uma tabeela normau eu faria um findnerest mas no query nao aceita...
obrigado...
tipo se fosse uma tabeela normau eu faria um findnerest mas no query nao aceita...
obrigado...
GOSTEI 0
Jairroberto
18/07/2003
Olá, Zacca!
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
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