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 22-05-2008
cesar_gta86 cesar_gta86 is offline
Miembro
 
Registrado: oct 2007
Posts: 32
Poder: 0
cesar_gta86 Va por buen camino
Question ¿ Se pueden agregar campos a una tabla tipo paradox7 de forma dinámica en delphi 6 ?

Hola que tal amigos, tengo una duda. Lo que pasa es que estamos desarrollando un sistema de B.D. pero necesitamos saber si se pueden agregar nuevos campos o columnas de forma dinámica (con código) a tablas tipo paradox7, estamos utilizando delphi 6. Y si se pudiera realizar esto, a ver si me podrian dar un ejemplo.

MIL grácias de antemano.
Saludos.
Responder Con Cita
  #2  
Antiguo 22-05-2008
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
Código Delphi [-]
if FileExists(cNomTemp) then
  DeleteFile(cNomTemp);

  if Not FileExists(cNomTemp) then
  begin
    Try
    DmPan.QrTemporales.Close;
    DmPan.QrTemporales.Sql.Clear;
    DmPan.QrTemporales.Sql.Add('Create Table '+QuotedStr(cNomTemp));
    DmPan.QrTemporales.Sql.Add('(');
    DmPan.QrTemporales.Sql.Add('Codigo        Char(07),');
    DmPan.QrTemporales.Sql.Add('Producto      Char(15),');
    DmPan.QrTemporales.Sql.Add('Cantidad  Numeric(10,2),');
    DmPan.QrTemporales.Sql.Add('Total     Numeric(10,2),');
    DmPan.QrTemporales.Sql.Add('Fecha              Date');
    DmPan.QrTemporales.Sql.Add(')');
    DmPan.QrTemporales.ExecSQL;
    Except
    ShowMessage('Error al crear la tabla temporal de facturas.');
    end;
   end;

Asi se crea una tabla nueva, para agregar campos no tienes más que utilizar: ALTER TABLE.

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
  #3  
Antiguo 22-05-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Código Delphi [-]
with TTable.Create(Application) do
begin
   //Añade los campos
   FieldDefs.Clear;
            FieldDefs.Add(NombreCampo,TipoDato,Longuitud,Requerido);
   //Añade los indices
   IndexDefs.Clear;
               with IndexDefs.AddIndexDef do
               begin
                  Name := NombreIndice;
                  Fields := NombreCampo;
                  Options := Opcion;
               end;
            end;

  CreateTable;
end;

Se me adelanto Marcos

La diferencia es que el lo hace por SQL yo lo hago por los metodos propios del TTable
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 23-05-2008
cesar_gta86 cesar_gta86 is offline
Miembro
 
Registrado: oct 2007
Posts: 32
Poder: 0
cesar_gta86 Va por buen camino
Oye eduarcol, buenos días, mira tengo un pequeño detalle; lo que pasa es que yo, ya tengo la tabla creada de forma estática, pero me veo en la necesidad de agregarle nuevos campos a la misma, no la de crear una nueva tabla y agregarle campos.

Con la ayuda que me diste intenté agregarle nuevos campos a la tabla que ya tengo creada, pero no lo hace; mira te muestro el código:

Table1.FieldDefs.Add('Ciudad_alumno',ftString,50,false);

Intenté guardar los cambios en la tabla con table1.refresh, pero creo que el refresh es sólo para guardar los cambios de los datos insertados. También intenté poner la tabla en modo de edición, pero sucede lo mismo, no guarda los nuevos campos.

Grácias Marcos, por tu ayuda con sql, ya que posteriormente me servirá.
Responder Con Cita
  #5  
Antiguo 23-05-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
de ser asi, la respuesta te la ha dado Marcos, debes utilizar el Alter Table
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 23-05-2008
cesar_gta86 cesar_gta86 is offline
Miembro
 
Registrado: oct 2007
Posts: 32
Poder: 0
cesar_gta86 Va por buen camino
Oye eduarcol, entonces esto no es posible de hacer con las tablas paradox7
Responder Con Cita
  #7  
Antiguo 23-05-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por cesar_gta86 Ver Mensaje
Oye eduarcol, entonces esto no es posible de hacer con las tablas paradox7
Código Delphi [-]
sqModificador.Active := False;
sqModificador.Sql.Clear;
sqModificador.SQL.Add('Alter Table "c:\mibase\NombreTabla" add MiCampo MiTipoDato);
sqModificador.ExecSQL;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
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
guardar de un DBGrid a una Tabla Paradox7 megaredoxk Conexión con bases de datos 4 28-11-2007 00:21:56
Variables creadas en forma dinamica GerTorresM OOP 1 04-10-2007 15:44:01
Crear variables de forma dinamica papulo PHP 3 24-11-2005 17:39:20
campos de una tabla en interbase que pueden contener archivos doc Luzmila Servers 2 11-06-2004 22:37:12
modificar o agregar campos a una tabla en ejecucion rmnart Firebird e Interbase 11 04-11-2003 09:27:55


La franja horaria es GMT +2. Ahora son las 23:28:25.


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