Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Crear o modificar Tablas Paradox desde Delphi (https://www.clubdelphi.com/foros/showthread.php?t=23345)

Gabriel2 14-07-2005 14:32:40

Crear o modificar Tablas Paradox desde Delphi
 
Mi programa constantemente se va actualizando, por diferentes motivos, ya sea errores, o un módulo nuevo que se termina, etc... De esta manera debo modificar una tabla (Paradox) o crear una nueva, para lo cual utilizo el Database Desktop y debo ir personalmente a visitar a los clientes, lo que incurre en una perdida de tiempo. Desde Delphi es posible crear campos nuevos en una tabla, quitar, camiar de lugar o inclusive crear una tabla nueva. Si se puede, podria crear un programita que al ejecutarse lo hiciera solo y no seria necesaria que viajara a visitar a cada uno de los clientes. Si saben y me muestran un ejemplo se los agradecería mucho.

Saludos.Gracias...

marcoszorrilla 14-07-2005 14:44:08

Pues sí es posible, por ejemplo mediante instrucciones SQL, mírate en concreto Alter Table, yo utilizo un pequeño programa que el cliente ejecuta una sola vez y éste crea los nuevos campos necesarios o amplia el ancho de los existentes......

Un Saludo.

Neftali [Germán.Estévez] 14-07-2005 15:49:07

La otra opción es utilizar el componente de TTable.
* Método CreateTable
* Método AddIndex

Para modificar, también desde TTable puedes acceder a las definiciones de los campos; Mírate la clase FieldDefs

Gabriel2 14-07-2005 23:05:51

Neftali: Encontre un ejemplo de como crear tablas por medio del componente Table, me gustaria que me dijeras como puedo modificar la estructura de una tabla existente, por ejemplo, el tamaño de un campo, agregar un campo nuevo, o el nombre de uno existente.


Saludos.Gracias.

Neftali [Germán.Estévez] 15-07-2005 09:52:50

Algo así debería funcionar para cambiar tamaños y demás propiedades:

Código Delphi [-]
    // Nuevo tamaño
    tbl1.FieldDefs.Find('Nombre').Size := 15;
    // Grabar cambios
    tbl1.FieldDefs.Update;

Para crear una taba y campos basta con que en la ayuda de delphi busques: TFieldDefs.AddFieldDef; Hay un ejemplo completo.

En éste capítulo también tienes información completa y ejemplos:
http://www.cesis.lv/learn/delphi/ch18.htm

Y también puedes revisar éstos dos hilos:
http://www.clubdelphi.com/foros/showthread.php?t=10123
http://www.clubdelphi.com/foros/showthread.php?t=18961

Gabriel2 16-07-2005 01:19:09

Bien, crear tablas he podido, pero no he podido modificar las que he creado. He usado el ultimo ejemplo y no me modifica los campos. Si no fuera mucho pedir podrias enviarme el código por correo a proyecto_palm@yahoo.com.ar, eternamente agradecido. Saludos...

Neftali [Germán.Estévez] 18-07-2005 10:25:18

La otra opción es utilizar la API.
Puedes utilizar un código como éste:

Código Delphi [-]
 var
   newStruct: ChangeRec;
 begin
   ...
 
   // Lo que no quieras modificar lo dejas a 0 o vacío
   newStruct.szName := '';
   newStruct.iType := 0;
   newStruct.iSubType := 0;
   newStruct.iLength := 15;  // nuevo tamaño a  15
   newStruct.iPrecision := 0;
 
   // Debe estar con la propiedad de Exclusiva a True.
   Table1.Open;
   ChangeField(Table1, Table1Nombre, newStruct);

La función ChangeField y la definición de la estructura las puedes encontrar aquí:
http://info.borland.com/devsupport/b...structure.html

Revisa el ejemplo 3; y recuerda añadir la unit BDE al uses.


La franja horaria es GMT +2. Ahora son las 05:46:57.

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