Ver Mensaje Individual
  #2  
Antiguo 18-05-2020
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Reputación: 19
kuan-yiu Va camino a la fama
No sé como insertas los datos, si es con un método propio o mediante componentes, pero cuando quieras hacer una insercción en la que los datos procedan de múltiples sitios o se vuelva complejo yo te recomendaría usar una query. Algo así:
Código Delphi [-]
procedure insertarTabla1;
var
   insertar: TQuery;
begin
   insertar := TQuery.Create(Self);
   with insertar do
   try
      DatabaseName := miBD;
      sql.Text := 'insert into '+ nombreTabla1;
      SQL.Add('(dato1, dato2, dato3)');
      SQL.Add('values (:dato1, :dato2, :dato3)');
      ParamByName('dato1').AsInteger := numero;  //Aquí copias los datos que hayas calculado u obtenido por otros medios
      ParamByName('dato2').AsString := grid1.cells[i, j];   //Aquí copias los datos del grid de la tabla1
      ParamByName('dato3').AsString := grid2.cells[n, m];  //Aquí copias los datos del grid de la tabla2
      ExecSQL;
   finally
      free;
   end;
end;
Aquí tienes el código en una query que se crea y destruye para cada vez que haces la inserción. Si es algo que se va a hacer siempre yo lo incluiría como un componente fijo con la consulta incorporada y solo cargaría los parámetros concretos en cada caso.
De todos modos si aportas un ejemplo concreto o parte del código que usas te podría dar una mejor aproximación a tu problema.
Responder Con Cita