Alterar os dados de um campo usando select

Delphi

14/08/2010

Olá!
Gostaria de saber que código uso para alterar os dados de um único campo de uma tabela usando Delphi.

Eu uso um ClientDataSet e uso um DBGrid com um DBNavigator para manipular os dados.
Mas eu queria que quando eu clicasse num TButton fosse feito um select na tabela Cliente e um campo fosse alterado.

Por exemplo:
Quando eu clicar no Tbutton eu quero que o campo 'NUMERO' onde 'CODIGO' for igual a variável "cod" receba o valor "1";

Como ficaria o código do Tbutton nesse caso?
Meu banco é firebird.
Ricardo

Ricardo

Curtidas 0

Respostas

Ricardo

Ricardo

14/08/2010

Olá!
Gostaria de saber que código uso para alterar os dados de um único campo de uma tabela usando Delphi.

Eu uso um ClientDataSet e uso um DBGrid com um DBNavigator para manipular os dados.
Mas eu queria que quando eu clicasse num TButton fosse feito um select na tabela Cliente e um campo fosse alterado.

Por exemplo:
Quando eu clicar no Tbutton eu quero que o campo 'NUMERO' onde 'CODIGO' for igual a variável "cod" receba o valor "1";

Como ficaria o código do Tbutton nesse caso?
Meu banco é firebird.
Mas eu queria fazer isso usando o ClientDataSet, tem como?
GOSTEI 0
Fernando Farah

Fernando Farah

14/08/2010

amigo, nao entendi vc quer alterar o conteúdo do banco ou a estrutura do banco ?
bye.
GOSTEI 0
Carlos Mazzi

Carlos Mazzi

14/08/2010

Provavelmente use seu select normal, e depois execute um Update para esse registro (tupla) selecionada. Mas alterar código  (campo chave) nao é recomendado.    
GOSTEI 0
Ricardo

Ricardo

14/08/2010

Vlw pessoal! Eu consegui já. o que eu queria era isso:     var qryCons : TSQLQuery;   try
    qryCons := TSQLQuery.Create(nil);
    qryCons.SQLConnection := SQLConnection1;
    try
      with qryCons do begin
        Close;
        sql.Clear;
        sql.Add('UPDATE TABELA_CLIENTE');
        SQL.Add('SET    NUMERO  = 1');
        sql.Add('WHERE CODIGO = ' + QuotedStr(cod));
        ExecSQL;
      end;
   
    except on e: exception do
      ShowMessage(e.Message);
    end;
    finally
      qryCons.Close;
      FreeAndNil(qryCons);
    end;   Eu queria fazer o update do campo 'NÚMERO' da tabela 'TABELA_CLIENTE' onde o 'CÓDIGO' fosse igual à variável "cod". Com esse código aí e adcionando o componente SQLQuery eu consegui.   Agora, aproveitando o tópico, alguém saberia como fazer uma consulta nessa tabela "TABELA_CLIENTE" pra armazenar numa variável o valor do campo 'NUMERO' onde 'CÓDIGO' for igual a variável "cod"? É que eu estou aprendendo a fazer essas coisas e não sei como ficaria o código. Esse código aí acima foi uma pessoa que me passou. Pra fazer essa consulta tem que adcionar outro componente SQLQuery? Como ficaria isso, alguém sabe?    
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

14/08/2010

var qryCons : TSQLQuery; numero: Integer;  try     numero := 0;
    qryCons := TSQLQuery.Create(nil);
    qryCons.SQLConnection := SQLConnection1;
    try
      with qryCons do begin
        Close;
        sql.Clear;
        sql.Add('SELECT NUMERO');
        SQL.Add('FROM TABELA_CLIENTE');
        sql.Add('WHERE CODIGO = ' + QuotedStr(cod));
        Open;          if not (qryCons.FieldByName('NUMERO').IsNull) then           numero := qryCons.FieldByName('NUMERO').AsInteger;        
      end;
   
    except on e: exception do
      ShowMessage(e.Message);
    end;
    finally
      qryCons.Close;
      FreeAndNil(qryCons);
    end;   Atenciosamente   Eriley
GOSTEI 0
Ricardo

Ricardo

14/08/2010

Opa!!! Grande Barbosa!!! Muito obrigado por me ajudar!!! Problema Resolvido!!! 
GOSTEI 0
POSTAR