Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-03-2004
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Question Crear tabla pdx a partir de dbf

Hola, tengo algunos sistemas hechos en clipper y dbfs y quiero pasarlos a pdx y d5.
Como puedo hacer para crear las tablas pdx a partir de la estructura de la dbf y ademas agregarle los datos?.
Lo he hecho con D.Desktop, pero mi intencion es hacerlo automatico dentro del codigo asi le instalo el nuevo programa al cliente y solo le actualiza los datos.

Salu2.
Gracias
Responder Con Cita
  #2  
Antiguo 03-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Busca en la ayuda acerca de CreateTable. Incluye un ejemplo de cómo crear la estructura de una tabla por código. Simplemente tienes que guiarte de eso para crear los campos según la estructura de la tabla DBase.

Una vez creada la tabla puedes llenarla recorriendo con un ciclo la tabla DBase e insertando registros y copiando los valores de los campos.

O bien con una consulta del estilo

insert into tabla paradox
select * from tabla dbase

// Saludos
Responder Con Cita
  #3  
Antiguo 03-03-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
También puedes utilizar si es para un caso transitorio una utilidad que viene con Delphi.

C:\Archivos de programa\Archivos comunes\Borland Shared\BDE

datapump.exe

Con esta herramienta pasas las tablas de Dbf a Pdx, sin ningún problema con campos memo...

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 03-03-2004
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Gracias, Marcos, pero mi intencion es hacerlo desde el codigo mismo, para instalar el mismo programa en todos mis clientes y que se cree la base automaticamente, sino deberia correr del datapump o el desktop en todas las maquinas, no?

Una pregunta que no habia puesto. Debo crear un Ttable vacio para apuntar a la base dbase? Y que pasa con la ubicacion de la misma? Deberia primero saber donde esta, no?

Salu2 y gracias otra vez.
Leonardo
Responder Con Cita
  #5  
Antiguo 29-03-2004
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Saludos:
La verdad no se si ya pudiste resolver tu problema, apenas estoy viendo este hilo pero te voy a decir como resolvi esa situacion cuando me paso a mi, yo utilize el batchmove que viene en la paleta de delphi.

Espero te sirva.
Responder Con Cita
  #6  
Antiguo 29-03-2004
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Gracias Trex2000. La verdad es que me he dedicado a otras cosas y no pude hacer y no pude hacer ninguna prueba mas.
Intentarte con lo tu me indicas y te aviso.

Salu2.
Responder Con Cita
  #7  
Antiguo 29-03-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Basándote en este ejemplo sacado de Trucomanía, creo que no te sería
dificil lograr lo que quieres.

Código:
procedure TForm1.Button1Click(Sender:TObject);
begin 
  if not Table1.Exists then 
  begin 
    Table1.Active       := FALSE; 
    {Aqui el Alias/Here, the alias}
    Table1.DatabaseName := 'Alias'; 
    Table1.TableType    := ttParadox; 
    {Aqui el nombre de la tabla/Here, the Table name}
    Table1.TableName    := 'Nombre de la Tabla'; 
    with Table1.FieldDefs do 
    begin 
      Clear; 
      Add('IntegerField', ftInteger,  0, FALSE); 
      Add('StringField' , ftString , 30, FALSE); 
      Add('LogicalField', ftBoolean,  0, FALSE); 
      Add('FloatField'  , ftFloat  ,  0, FALSE); 
      Add('DateField'   , ftDate   ,  0, FALSE); 
      Add('TimeField'   , ftTime   ,  0, FALSE); 
    end; 
    Table1.CreateTable; 
  end; 
end; 
 
 
 
Si quieres añadir algún indice, mirate la propiedad IndexDefs
que es similar a la FieldDefs que hemos usado.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 30-03-2004
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Gracias Marcos por tu respuesta.
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


La franja horaria es GMT +2. Ahora son las 01:03:05.


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