Ver Mensaje Individual
  #3  
Antiguo 02-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 24
maeyanes Va por buen camino
Hola...

Para ejecutar este tipo de SQL debes usar el método ExecSQL de TQuery...

Ahora, tu query está mal formada:

Código Delphi [-]
with FrmAlmacen.QFiltrar do
begin
  Close;
  Sql.Text:='UPDATE Almacen.db SET Ubicacion = :valor, Observaciones = :valor1';
  Params[0].AsString:=EdtUbicacion.Text;
  Params[1].AsString:=EdtObservaciones.Text;
  ExecSQL
end

Pero si te fijas bien, ese update lo que va a hacer es modificarte todos los registros de la tabla con los valores que le estás enviando. Para actualizar solo un registro necesitas especificarlo mediante la cláusula WHERE. Puedes hacer algo así:

Código Delphi [-]
Sql.Text:='UPDATE Almacen.db SET Ubicacion = :valor, Observaciones = :valor1 where Id = :Id';
// ...
Params[2].AsString := 'Identificador de campo';


Saludos...
Responder Con Cita