Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2007
gsilvei gsilvei is offline
Miembro
 
Registrado: jul 2006
Posts: 44
Poder: 0
gsilvei Va por buen camino
Trabajando con ClientDataSet

Hola a todos,

Estoy creando una tabla temporaria, utilizando ClientDataSet.

Una vez que cierro mi form, crea un .xml e una vez que creo otro registro, lee el .xml.

Mi pregunta es la siguiente:

1) Es posible crear un .xml para cada registro nuevo.

2) como identifico el mismo cuando veo todos los datos.



Código Delphi [-]

procedure TFormCprograma.AntesdeSalvar;
begin
   Cds.SaveToFile('Cds_Temp.xml');
end;



procedure TFormCprograma.AntesdeIncluir;
begin
  Cds.LoadFromFile('Cds_Temp.xml');
end;



Cita:

xml:

<?xml version="1.0" standalone="yes" ?>
- <DATAPACKET Version="2.0">
- <METADATA>
- <FIELDS>
<FIELD attrname="id" fieldtype="string" WIDTH="4" />
<FIELD attrname="cod" fieldtype="i4" />
<FIELD attrname="exercicio" fieldtype="string" WIDTH="60" />
<FIELD attrname="tiempo" fieldtype="i4" />
</FIELDS>
<PARAMS CHANGE_LOG="1 0 4" />
</METADATA>
- <ROWDATA>
<ROW RowState="4" id="0001" cod="0001" exercicio="Teste" tempo="10" />
</ROWDATA>
</DATAPACKET>
Agradesco por la ajuda,
Saludos,
Guillermo
Responder Con Cita
  #2  
Antiguo 16-09-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Bueno... si es posible? si... es posible, y dependiendo de como lo guardes vas a leerlo y reconocerlo despues... no se si entendi bien... pero a la tabla la estas guardando como un XML, no?

Y lo q tu quieres hacer es guardar cada registro como un XML?

Bueno... una solucion q te puedo dar, es hacer uso, de... por ejemplo, el componente Txmldocument... y vas leyendo registro a registro de la tabla y guardandolo en un archivo xml diferente...

En realidad no entiendo con q fin hacerlo... pero si buscas por los foros encontraras mucha informacion... Tanto de como leer y como escribir un XML, yo mismo puse el codigo fuente de la parte de un programa q escribi para hacer eso. Es cuestion de buscar no mas

Y bueno...si entendi mal la idea no tienes q hacer mas q corregirme y explicarte un poco mejor para ajudarte

{Saludos}
Responder Con Cita
  #3  
Antiguo 20-09-2007
gsilvei gsilvei is offline
Miembro
 
Registrado: jul 2006
Posts: 44
Poder: 0
gsilvei Va por buen camino
Hola,mi idea es crear un xml para cada registro que hago nuevo.
Ejemplo:

Tabla Alumno
Cod
Nombre

Tabla Programa
id
Cod_alumno
Nombre
Exercicio
Fecha

Registro un programa para un alumno,
cada alumno puede tener n cantidad de programas,
es ahi que necesito crear un xml para cada programa.
Intente utilizar el codigo de b3nshi que encontre, y da algunos errores, creo pq falta declarar, algunas lineas que no se a que se refieren

Código Delphi [-]
 
var
i: integer;
ndia, nage, nhor, nact: IXMLNode;
begin
{Guardo la actividad}
  xml1.filename := ''; //porq uso el mismo componente para abrir, se puede crear en tiempo de ejecucion y este problema no apareceria
 xml1.Active := True;
  //Ahora si creo el xml
  xml1.Version := '1.0';
 nage := Xml1.AddChild('Agenda');
 for i := 0 to agenda.Items.Count - 1 do
   begin
       case plan.Items[i].Level of
         0:begin ndia := nage.AddChild('Dia'); ndia.Attributes['Text']:= agenda.Items[i].Text; end;
         1:begin nhor := ndia.AddChild('Horario'); nhor.Attributes['Text'] := agenda.Items[i].Text;end;
         2:begin nact := nhor.AddChild('Actividad'); nact.Attributes['Text'] := agenda.items[i].Text; end;
        end;
   end; //Fin del for
  //ahora si guardo el archivo xml
  xml1.SaveToFile('agenda\' + trim(enom.text) + '.ext');
  xml1.active:= false;
end; //Fin del procedimiento q crea el fichero

marque en color rojo lo que no esta declarado,
gracias por la ayuda,
Saludos
Guillermo

Última edición por gsilvei fecha: 20-09-2007 a las 13:50:54.
Responder Con Cita
  #4  
Antiguo 20-09-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Si no me equivoco ese es un codigo mio no?

Bueno... te cuento q ese plan, es un treeview, en donde yo tenia los datos q queria guardar... vos tendrias q reemplazar por la info de la tabla. Es mas... viste q despues hace mension a un componente agenda? Bueno... plan es agenda... o sea... me olvide de cambiarlo...

Y el enom.text era un Tedit en donde ponia el nombre del archivo en el q se tenia q guardar el xml. Es decir eso lo podes reemplazar por cualquier nombre.

{Saludos}

Última edición por b3nshi fecha: 20-09-2007 a las 20:40:24.
Responder Con Cita
Respuesta



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
trabajando en red jdg C++ Builder 2 18-02-2007 16:10:48
trabajando con 2 listbox gsilvei Varios 3 04-09-2006 03:44:30
Trabajando con dlls Novás Varios 2 23-08-2006 17:35:41
Trabajando con ListBox gsilvei Varios 1 11-07-2006 16:16:38
Trabajando con DLL b3nshi Varios 1 16-03-2005 18:21:55


La franja horaria es GMT +2. Ahora son las 09:57:23.


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