Ver Mensaje Individual
  #4  
Antiguo 05-10-2011
Avatar de CHECHE81
CHECHE81 CHECHE81 is offline
Miembro
 
Registrado: may 2007
Ubicación: Huauchinango, Puebla
Posts: 64
Reputación: 18
CHECHE81 Va por buen camino
Talking Ciclo¡¡

Saludos a todos¡¡
Pues haciendo un ciclo While recorriendo el ClientDataSet que tiene los datos, en mi caso el AdoDataSet1 lo cargue con datos de un archivo de excel que necesito cargar a mi tabla cdsPAsignaturas en mi bd de MySQL, algo asi:

Código Delphi [-]
AdoDataSet1.First;
   While not AdoDataSet1.EoF do
   begin
     CDSLastidA.active:= false; // cierro,esto lo uso para obtener el select max(idPlanYAsignatura) de mi tabla
     CDSLastidA.active:=true;  //abro,esto lo uso para obtener el select max(idPlanYAsignatura) de mi tabla

     cdsPAsignaturas.Append;  // Aquí pones en modo de inserción a tu tabla donde copiaras los datos.. 
     cdsPAsignaturas.FieldByName('idPlanYAsignatura').Value:= CDSLastidA.FieldByName('id').AsInteger+1;// Aquí obtengo el ultimo valor del campo ID, así lo uso yo ok
     cdsPAsignaturas.FieldByName('idPlanGeneral').Value := AdoDataSet1.Fields[0].Value;
     cdsPAsignaturas.FieldByName('sPlanNombreOficial').Value:= AdoDataSet1.Fields[1].Value ;
     cdsPAsignaturas.FieldByName('sPlanNombreCorto').Value := AdoDataSet1.Fields[2].Value ;
     cdsPAsignaturas.FieldByName('iOrden').Value := AdoDataSet1.Fields[3].Value ;
     cdsPAsignaturas.FieldByName('sPeriodoNombre').Value := AdoDataSet1.Fields[4].Value ;
     ....
     cdsPAsignaturas.post; // guardas los datos
     
     AdoDataSet1.Next;// siguiente hasta terminar el recorrido
    
     end;


Claro que para guardar los cambios directamente a la bd debe tener el famoso ApplyUpdates en el evento AfterPost del ClientDataSet donde copiaras los datos algo como:
Código Delphi [-]
procedure Tdmconexion.cdsPlantelesAfterPost(DataSet: TDataSet); 
begin
   if cdsPlanteles.ChangeCount > 0 then
   cdsPlanteles.ApplyUpdates( 0 );
end;

Esto me funciona, espero te sirva Chaja...saludos¡¡¡
__________________
Cuidemos el medio ambiente....jojo

Última edición por CHECHE81 fecha: 05-10-2011 a las 19:55:15.
Responder Con Cita