Ver Mensaje Individual
  #6  
Antiguo 18-09-2008
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Reputación: 17
Cecilio Va por buen camino
Muchas Gracias.

Mientras me escribias el ejemplo yo he escrito este procedimiento:

Código Delphi [-]
procedure Tform1.Env_Altas;
var dd,ds: TSqlQuery;
     s: String;
     x: Integer;
begin
ds:= TSqlQuery.Create(nil);
dd:= TsqlQuery.Create(nil);

ds.DataBase:=Con_o;
ds.Transaction:=Transac_O;
dd.DataBase:=Con_d;
dd.Transaction:=Transac_D;
// Artículos

  
 s:='Select Codigo,Almacen,Descripcion,existencias,pvp1 from articulo';
 s:=s+' where exp='+QuotedStr('NO');

 ds.SQL.Clear;
 ds.SQL.Text:=s;
 ds.Active:=true;

    dd.SQL.Clear;
    dd.SQL.Add('insert into articulo (codigo,almacen,descripcion,existencias,pvp1, exp) ');
    dd.SQL.Add('values (:codigo, :almacen, :descripcion, :existencias, vp1, :exp)');
    dd.ParseSQL:=true;
    
 while not ds.EOF do
 begin  
    dd.Params.ParamByName('codigo').Value:=ds.FieldByName('codigo').AsString;
    dd.Params.ParamByName('descripcion').Value:=ds.FieldByName('descripcion').AsString;
       dd.Params.ParamByName('existencias').Value:=ds.FieldByName('existencias').AsString;
    dd.Params.ParamByName('pvp1').Value:=ds.FieldByName('pvp1').AsFloat;
    dd.Params.ParamByName('exp').Value:='NO';
    dd.ExecSQL;

    ds.Next;
 end;

dd.SQL.Clear;
dd.sql.Add('commit');
dd.ExecSQL;
dd.Free;
ds.Free;
end;

Ni que decir tiene que su ejemplo es mucho mejor y voy a estudiarlo a fondo, porque hay muchas cosas en él que desconozco.
__________________
Saludos Cordiales.
------------------

Responder Con Cita