[firebase-br] Como editar registros

"J. Luís Schiavo" lista.firebase em sysbase.com.br
Dom Nov 5 21:48:05 -03 2006


Sua sintaxe tá mais pra INSERT mas como falou em "EDITAR"...
*** e também falta a cláusula WHERE se não a alteração será aplicada a 
todos os registros da tabela.
Tente isso para o UPDATE:

with Query1 do
  begin
  Active := False;
  SQL.Clear;
  SQL.Add('UPDATE  EMPLOYEE SET FULL_NAME = :FNAME, LAST_NAME = :LNAME, 
HIRE_DATE = :HDATE');
  SQL.Add('WHERE COD_FUNC = :CODF ');
  ParamByName('FNAME').AsString := Edit1.Text;
  ParamByName('LNAME').AsString := Edit2.Text;
  ParamByName('HDATE').AsDateTime := StrToDate(Edit3.Text); // 
Edit3.Text      deve conter uma data válida OK
  ParamByName('CODF').AsInteger := StrToInt(Edit4.Text);
  ExecSQL;
  end;

Tente isso para INSERT:

with Query1 do
  begin
  Active := False;
  SQL.Clear;
  SQL.Add('INSERT INTO EMPLOYEE (FULL_NAME,LAST_NAME,HIRE_DATE)');
  SQL.Add('VALUES (:FNAME, :LNAME, :HDATE)');
  ParamByName('FNAME').AsString := Edit1.Text;
  ParamByName('LNAME').AsString := Edit2.Text;
  ParamByName('HDATE').AsDateTime := StrToDate(Edit3.Text); // 
Edit3.Text      deve conter uma data válida OK
  ExecSQL;
  end;

OBS.:  Procure usar nomes mais significativos para os parâmetros assim o 
código fica mais claro, vc. pode inventar os nomes seguindo um padrão é 
claro, ou até utilizar o mesmo nome dos campos tipo :FULL_NAME,... O 
tempo que vc. perde para dig. alguns caracteres a mais vc. ganhará em 
dobro mais tarde quando precisar dar manutenção neste código :-)

E como o colega Jeudí já disse, o controle transacional é essencial!

T+


Ricero Ancelmo wrote:
> Bom dia amigos !!
> Como faço para editar varios campos com a instruçao SQL ?
>  tentei o codigo abaixo e outros mas nenhum deu certo  !!!
> 
> with Query1 do
> begin
> Active := False;
> SQL.Clear;
> SQL.Add('UPDATE  EMPLOYEE  SET  (FULL_NAME,LAST_NAME,HIRE_DATE)'); 
> SQL.Add('VALUES(:1,:2,:3)');
> ParamByName('1').AsString := Edit1.Text;  
> ParamByName('2').AsString := Edit2.Text;
> ParamByName('3').AsDate := StrToDate(Edit3.Text); // data - este também nunca deu certo
> ExecSQL;
> end;
> 
> 
> 
> Grato por qualquer informação...
> Ricero.
> 
> 
> 		
> _______________________________________________________ 
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! 
> http://br.mobile.yahoo.com/mailalertas/ 
>  
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista