Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
mediante el fielddef que hablas, lo unico que estaras modificando es el componente TTable, y no la base de datos que representa. La manera mas comoda que conozco es la que comentas, usando alter table mediante un query SQL. Si no quieres hacerlo asi, y supongo que estas usando ODBC, la cosa se complicaria un poco.
Responder Con Cita
  #2  
Antiguo 13-03-2009
Adrianmex Adrianmex is offline
Miembro
 
Registrado: mar 2009
Posts: 12
Poder: 0
Adrianmex Va por buen camino
Gracias, Coso, por tu diligente respuesta.

Bueno, tendré que aprender más eso de Alter Table si es la única manera para solucionar mi problema.

Ahora, si no es mucha molestia, ¿me podrías indicar tú u otro que esté más instruído que yo en eso de SQL cómo puedo agregar el contenido de un edit a la instrucción Alter Table para que el nuevo campo se llame como el texto que muestra el Edit?

De antemano y de nuevo, gracias por tu ayuda.
Responder Con Cita
  #3  
Antiguo 13-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Te dejo aqui un manual de sql basico : http://sql.1keydata.com/es/sql-alter-table.php

en cuanto a lo q me has dicho, deberias usar un componente query (y mas adelante, te aconsejo que usases los componentes ADO). Seria algo asi, quiza tenga algun fallo de sintaxis, comillas o parecido:

Código Delphi [-]
 
datasource1.Dataset := query1;
query1.Active := false;
query1.SQL.Text := 'alter table ' + nombretabla + ' add ' + edit1.text + ' varchar(50)';
query1.ExecSQL;

como ves, la sentencia sql no es mas que una string. No recuerdo si son necesarias las comillas, entonces debes usar QuotedStr(Edit1.Text). Tambien, si te da excepcion, prueba query1.Active := true: estoy habituado a usar los componentes ADO para estas cosas, y creo que son algo diferentes, a ver si salta alguien que use los nativos de delphi y te lo explica mejor. un saludo.

Última edición por coso fecha: 13-03-2009 a las 18:40:48.
Responder Con Cita
  #4  
Antiguo 13-03-2009
Adrianmex Adrianmex is offline
Miembro
 
Registrado: mar 2009
Posts: 12
Poder: 0
Adrianmex Va por buen camino
De nuevo gracias, Coso, por tu ayuda.

Estaré revisando ese vínculo que me has dado. Espero poderlo hacer así como me indicas.

Nos leemos en otro tema y que estés bien.

Saludos.
Responder Con Cita
  #5  
Antiguo 13-03-2009
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
Bueno yo utilizo Absolute DataBase y es muy facil, si te sirve aquí esta.
Responder Con Cita
  #6  
Antiguo 14-03-2009
Adrianmex Adrianmex is offline
Miembro
 
Registrado: mar 2009
Posts: 12
Poder: 0
Adrianmex Va por buen camino
Hola, NeoNew, he instalado y probado el componente que me indicas, pero al correr la aplicación me dice: "Undeclared identifier: 'aftString'" cuando quiero agregar un campo de tipo String, y realmente no sé qué está mal.

Si me pudieras auxiliar con eso, te lo agradecería mucho.
Responder Con Cita
  #7  
Antiguo 14-03-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 24
AzidRain Va camino a la fama
Adrian, no has comentado que tipo de tablas estas usando, el post corresponde a tablas Planas por lo que de ser así va a estar canijo que lo puedas hacer. Los motores de BD "grandes" si incorporan el soport para alter table completito como te dijeron, pero bueno...no te hemos preguntado para que quieres agregar un campo cada vez que presiones el botón, teóricamente podrías hacerlo muchas veces agregando un campo cada vez, cosa que no se me hace muy lógica.

Por que no nos platicas de que se trata lo que estás haciendo y te podemos ayudar además con la lógica del problema, recuerda que a veces uno piensa que la solución que escogimos es la mejor y sin embargo alguién mas puede pensar de otra forma mas sencilla.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Crear campo calculado en tiempo de ejecucion-Ibquery andresenlared Varios 12 19-06-2014 07:44:39
Debugear en tiempo de ejecucion ? ingel Varios 23 12-05-2006 20:23:13
Obtener el Nombre de un Campo en Tiempo Ejecucion Jvilomar Conexión con bases de datos 2 03-08-2004 00:05:22
Tiempo de ejecucion? st7 Varios 3 11-05-2004 23:03:28
Controles en tiempo de ejecución JCA OOP 4 13-02-2004 22:29:21


La franja horaria es GMT +2. Ahora son las 07:58:26.


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