Ir al contenido


Foto

¿Como crear tablas desde Delphi?


  • Por favor identifícate para responder
5 respuestas en este tema

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 18 enero 2010 - 05:47

MArc Cree el campo calculado con ibexpert y me ha funcionando bien y sin complicaciones. Ahora dos Preguntas, para crear el campo calculado desde delphi, en que lugar debo poner esa sentencia. Lo que pasa es que hice las tablas directamente en ibexpert. Ahora voy a tratar de hacerlas directamente en delphi, asi cuando instale el programa en una computadora que no tenga la base de datos, el programa la cree.


  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 08:19

Saludos.

Puedes utilizar el componente TQuery o si usas Interbase Express puedes usar el IbSQL (creo que así se llama) y pones tu sentencias SQL:



sql
  1. CREATE TABLE XXXX (
  2. TUS CAMPOS)



Con esto puedes resolver y creo que para otra pregunta que esta un poco desligada de la principal deberías de crearte un nuevo hilo para darle mejor seguimiento.
  • 0

#3 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 18 enero 2010 - 08:55

Como dice Rolphy, esto merece un hilo por si solo.

Y es que no debes mirar solo como solucionarlo para este caso particular, sino que te vas a encontrar continuamente con este problema.

Yo lo que he hago es mantener un control de versiones. Por ejemplo, supongamos que actualmente el programa está en la versión 2.3.15. Cada vez que hago alguna modificación que afecta a la base de datos (nuevas tablas, campos, procedimientos almacenados, etc. ...) lo pongo en un archivo de script : Script_2_3_16.sql.

Cuando acabo los cambios y lo voy a instalar en un cliente, entonces considero cerrada la versión 2.3.16.

Ahora viene el momento de instalarlo, lo que hago es sustituir el ejecutable, y copiar en una carpeta todos los scripts de actualización. De manera que cuando ejecuto el programa, lo primero que hace es comprobar la versión del ejecutable (lo puedes poner en las propiedades del proyecto) y compararlo con la versión de la base de datos (pongo el número en una tabla de configuración).

Supongamos que el ejecutable que le acabo de poner es el 2.3.16 y la base de datos que tiene el cliente es lla 2.3.12 (hace varios meses que no le actualizaba). Entonces, antes de seguir ejecutando el programa, tiene que ejecutar estos archivos de script :

Script_2_3_13.sql
Script_2_3_14.sql
Script_2_3_15.sql
Script_2_3_16.sql

Una vez ejecutados, ya puedo seguir cargando tranquilamente el programa, que ya sé que con toda seguridad se va a encontrar los campos y tablas que espera.

NOTA: Supongo que ya imaginarás que la primera línea de cada script de actualización siempre es algo de este tipo :

update CONFIG set VERSION = 2;
update CONFIG set SUBVERSION = 3;
update CONFIG set RELEASE = 16;
commit work;

Para ejecutar los Scripts, yo utilizo una herramienta externa, el IBEScript.exe de las IBExpert. Aunque puedes encontrar alternativas gratuitas, o incluso algún componente Delphi para hacerlo.

Saludos.
  • 0

#4 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 18 enero 2010 - 09:06

Saludos.

Esta pregunta viene a continuación de este hilo.
  • 0

#5 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 18 enero 2010 - 06:38

Gracias Rolphy tienes toda la razon sobre el nuevo hilo. Lo tomaré en cuenta para una proxima ocasion.

Marc la explicacion que me das es bastante amplia y profunda. Tengo algunas dudas, pero dejame investigar algunas cosas y luego te las planteo con mayor propiedad.

Gracias
  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 22 enero 2010 - 01:48

Muy interesante el asunto de las versiones amigo Marc, yo estoy trabajando con firebird actualmente y es un tema del que no tengo mucha idea y si muchas dudas, ya estaré preguntandote cuando tenga que hacer alguna actualización de mi sistema que recién estoy desarrollando. (y)

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.