Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2007
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Obtener estructura de Tablas Paradox

Hola amigos del foro, tengo una duda desde hace unos meses, bueno estaba haciendo una pequeña aplicacion con Delphi y Paradox en la cual podia realizar consultas tipo un Mini analizador de consultas SQL, ya que donde laboro se hace muy necesario.
Mi duda es como poder visualizar los campos que comforman una tabla paradox, ya que al momento de realizar la consulta se hace tedioso recordar los nombres de los campos.Para solucionar esto se me ocurrio algo que realmente me resulta mal, bueno es por eso que recurro al foro.
Eh visto una aplicacion muy conocida el SYSUTIL con el cual apunto a una ruta dada y obtengo en un treview todas las tablas paradox existentes en esa ruta, asi como sus indices. Me llamo la atencion y desearia saber como poder hacer algo parecido

Muchas gracias anticipadas
Responder Con Cita
  #2  
Antiguo 07-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Busca por aqui:
Código Delphi [-]
var TipoDato:string;
begin
  for j:= 0 to tabla.FieldDefs.Count-1 do
      with tabla.FieldDefs.Items[j] do
      begin
           case DataType of
             case DataType of
              ftUnknown      : TipoDato:= 'ftUnknown';
              ftString       : TipoDato:= 'ftString';
              ftSmallint     : TipoDato:= 'ftSmallint';
              ftInteger      : TipoDato:= 'ftInteger';
              ftWord        : TipoDato:= 'ftWord';
              ftBoolean      : TipoDato:= 'ftBoolean';
              ftFloat        : TipoDato:= 'ftFloat';
              ftCurrency    : TipoDato:= 'ftCurrency';
              ftBCD          : TipoDato:= 'ftBCD';
              ftDate        : TipoDato:= 'ftDate';
              ftTime        : TipoDato:= 'ftTime';
              ftDateTime    : TipoDato:= 'ftDateTime';
              ftBytes        : TipoDato:= 'ftBytes';
              ftVarBytes    : TipoDato:= 'ftVarBytes';
              ftAutoInc      : TipoDato:= 'ftAutoInc';
              ftBlob        : TipoDato:= 'ftBlob';
              ftMemo        : TipoDato:= 'ftMemo';
              ftGraphic      : TipoDato:= 'ftGraphic';
              ftFmtMemo      : TipoDato:= 'ftFmtMemo';
              ftParadoxOle  : TipoDato:= 'ftParadoxOle';
              ftDBaseOle    : TipoDato:= 'ftDBaseOle';
              ftTypedBinary  : TipoDato:= 'ftTypedBinary';
              ftCursor      : TipoDato:= 'ftCursor';
              ftFixedChar    : TipoDato:= 'ftFixedChar';
              ftWideString  : TipoDato:= 'ftWideString';
              ftLargeint    : TipoDato:= 'ftLargeint';
              ftADT          : TipoDato:= 'ftADT';
              ftArray        : TipoDato:= 'ftArray';
              ftReference    : TipoDato:= 'ftReference';
              ftDataSet      : TipoDato:= 'ftDataSet';
              ftOraBlob      : TipoDato:= 'ftOraBlob';
              ftOraClob      : TipoDato:= 'ftOraClob';
              ftVariant      : TipoDato:= 'ftVariant';
              ftInterface    : TipoDato:= 'ftInterface';
              ftIDispatch    : TipoDato:= 'ftIDispatch';
              ftGuid        : TipoDato:= 'ftGuid';
              ftTimeStamp    : TipoDato:= 'ftTimeStamp';
              ftFMTBcd      : TipoDato:= 'ftFMTBcd';
            else TipoDato   := ' No reconocido';
            end; // case;

Para los indices tienes que acceder a IndexDefs de igual forma que con FieldsDef.... más o menos

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 07-02-2007 a las 17:14:14.
Responder Con Cita
  #3  
Antiguo 08-02-2007
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Hola Lepe gracias por responder.
Lo que queria saber es como poder visualizar todas las tablas Paradox existentes en una ruta especificada, asi como cada uno de los campos que forman cada una de ellas,
Responder Con Cita
  #4  
Antiguo 09-02-2007
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
Con lo que te dice Lepe tienes más que suficiente, recorres la carpeta que proceda extraes todos los ficheros de tipo Db y luego con cada uno de ellos vas llamando a una función que te puedes construir tú mismo.

A la hora de presentar los resultados puedes usar un Treeview.....


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
  #5  
Antiguo 09-02-2007
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
Para obtener las tablas puede usar una componente Database y su método GetTableNames:

Código Delphi [-]
Database1.AliasName := 'c:\ruta\al\directorio\con\las\tablas';
Database1.GetTableNames(ComboBox1.Items);

// Saludos
Responder Con Cita
  #6  
Antiguo 09-02-2007
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
hola y gracias a ambos, me gusto eso del DATABASE, poque estoy utilizando ese componente, pero mi problema es como poder atravez del DATABASE poder saber los campos de las tablas.
Utilizo Database y un Datasetprovider y un Dataset.
El DATASET apunta a unas 35 tablas mas o menos, estaba pensando con un Ttable poder obtener el nombre de cada campo, pero tambien hay un promedio de 25 campos por tabla.
Espero sus comentarios

Última edición por Coco_jac fecha: 09-02-2007 a las 01:40:33.
Responder Con Cita
  #7  
Antiguo 09-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Nada te impide usar un solo objeto TTable.
- Lo cierras por si está abierto
- Asignas el alias de la BD a la tabla.
- configuras el nombre de la tabla (a la que corresponda)
- la abres.
- fuerzas un update de los campos (tabla.fieldsdef.Update o refresh)
- ahora extraes los campos.
- Vuelves al principio.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Copiar estructura Paradox ? Coco_jac Varios 5 07-12-2005 16:31:11
informacion sobre estructura de tablas paradox e indice px chuley Tablas planas 2 06-04-2005 03:42:37
API DBE estructura RINTQual Integridad referencia Paradox kike Conexión con bases de datos 0 29-03-2005 10:47:51
Con dos tablas de igual estructura, obtener datos de 1º que no esten en 2º Ricardojosep SQL 2 09-03-2005 12:48:51
Comparar estructura tablas paradox Joana Tablas planas 0 14-05-2004 10:47:26


La franja horaria es GMT +2. Ahora son las 00:21:35.


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