Hola
Por eso me gusta usar text, no hay que acordarse de limpiar el query ni nada.
Código Delphi
[-]
Remision.SQL.Text:= 'INSERT INTO remision (clave,Producto,PrecioU,cantidad,Precio,descuento,subtotal) '+
'VALUES(:Clave, :Producto, :PrecioU, :Cantidad, :Precio, :descuento, :Subtotal)';
Remision.ParamByName('Clave').AsString := DProductos.Fields[0].AsString;
Remision.ParamByName('Producto').AsString := DProductos.Fields[1].AsString;
Remision.ParamByName('PrecioU').AsInteger := DProductos.Fields[4].AsInteger;
Remision.ParamByName('Precio').AsInteger:= DProductos.Fields[3].AsInteger;
Remision.ParamByName('Cantidad').AsInteger:= 100;
Remision.ParamByName('descuento').AsInteger:= 200;
Remision.ParamByName('Subtotal').AsInteger := 300;
Remision.ExecSQL;
La diferencia es sencilla y sutil pero ayuda, por lo menos a mi.
Saludos