Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 05-10-2011
Avatar de CHECHE81
CHECHE81 CHECHE81 is offline
Miembro
 
Registrado: may 2007
Ubicación: Huauchinango, Puebla
Posts: 64
Poder: 20
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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
que es un clientedataset, como funciona ingabraham Varios 2 20-02-2008 22:14:32
Como manejo el ibstoredproc, el ibtransaction y el clientedataset ingabraham Varios 5 16-02-2008 01:20:47
ClientDataSet jovelar Firebird e Interbase 0 11-07-2005 17:59:41
DE BD SQL a CLIENTDATASET ada MySQL 0 05-10-2004 12:18:41
ClientDataSet y W98 tgsistemas Conexión con bases de datos 5 03-08-2004 10:13:06


La franja horaria es GMT +2. Ahora son las 19:49:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi