jorosmtz
07-08-2011, 05:57:28
Buen día, mi pregunta es debido a que puedo hacer una inserción masiva:
With DataModule1.IBCQuery1 do
begin
try
Close;
SQL.Clear;
SQL.Add('Insert into TBPRODUCTO (FECHA, HORA, CLAVEPRODUCTO, NOMBREPRODUCTO) ');
SQL.Add('Values (:FechaNueva, :HoraNueva, :ClaveDelProducto, :NombreDelProducto) ');
ParamByName('FechaNueva').AsDate := Fecha.Date; //es un TDateTimePicker
ParamByName('HoraNueva').AsString := Hora.Text; //es una edit
ParamByName('ClaveDelProducto').AsString := EditClaveProducto.Text;
ParamByName('NombreDelProducto').AsString := EditNombreProducto.Text;
ExecSQL;
DataModule1.IBCConnection.Commit;
MessageDlg('Se agregó nuevo producto con éxito',mtInformation,[mbOK],0);
except
DataModule1.IBCConnection.Rollback;
MessageDlg('Hubo un error al agregar el nuevo producto',mtInformation,[mbOK],0);
end;
end;
Ok, ahora mi pregunta es, ¿como puedo hacer para hacer una actualización masiva?
P.D. Estoy incursionando en "Firebird-Sentencias SQL", es por eso que les pregunto. Al hacer búsquedas en la web (incluyendo aquí) lo que veo es como hacer "update" registro por registro, pero me gustaría hacer un "update" masivo, que cuando haga el "ExecSQL" se actualicen todos los datos de un solo jalón, como en el ejemplo que puse, donde hago una inserción masiva.
Gracias de antemano.
With DataModule1.IBCQuery1 do
begin
try
Close;
SQL.Clear;
SQL.Add('Insert into TBPRODUCTO (FECHA, HORA, CLAVEPRODUCTO, NOMBREPRODUCTO) ');
SQL.Add('Values (:FechaNueva, :HoraNueva, :ClaveDelProducto, :NombreDelProducto) ');
ParamByName('FechaNueva').AsDate := Fecha.Date; //es un TDateTimePicker
ParamByName('HoraNueva').AsString := Hora.Text; //es una edit
ParamByName('ClaveDelProducto').AsString := EditClaveProducto.Text;
ParamByName('NombreDelProducto').AsString := EditNombreProducto.Text;
ExecSQL;
DataModule1.IBCConnection.Commit;
MessageDlg('Se agregó nuevo producto con éxito',mtInformation,[mbOK],0);
except
DataModule1.IBCConnection.Rollback;
MessageDlg('Hubo un error al agregar el nuevo producto',mtInformation,[mbOK],0);
end;
end;
Ok, ahora mi pregunta es, ¿como puedo hacer para hacer una actualización masiva?
P.D. Estoy incursionando en "Firebird-Sentencias SQL", es por eso que les pregunto. Al hacer búsquedas en la web (incluyendo aquí) lo que veo es como hacer "update" registro por registro, pero me gustaría hacer un "update" masivo, que cuando haga el "ExecSQL" se actualicen todos los datos de un solo jalón, como en el ejemplo que puse, donde hago una inserción masiva.
Gracias de antemano.