Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2011
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
duplicar varios registros de una tabla

como puedo duplicar varios registros dentro de la misma tabla.

lo intentes con un insert con un select , pero se ciclo

alguna idea??
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #2  
Antiguo 06-09-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
¿ Nos enseñas lo instrucción que has intentado ?
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 06-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Queremos ver el código
Responder Con Cita
  #4  
Antiguo 06-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
no soy muy experto en delphi pero te dejo una idea que se me ocurre

2 arrays,
1 para almacenar los nombres de los campos (Fieldbyname, field, etc)
1 para almacenar los valores de los campos (del que queremos copiar)

entonces hacemos el append y vaciamos en ese nuevo registro el segundo array con los campos almacenados en el primero

se entiende? djie que era una idea
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 06-09-2011
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
ok, se que no se debe hacer, pero dentro de ibexpert esto es lo que puse.

INSERT INTO cdetallefac SELECT * FROM cdetallefac WHERE documento='H6234'

si, fue sobre la misma tabla

cuando vi que estaba tratando de insertar el registro 165045600 dije, algo anda mal

fue un lapsus brutus
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #6  
Antiguo 06-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
mmmm y que te parecio mi idea?
quiza alguien con mas experiencia en delphi pueda plasmarla, a veces es util repetir uno o varios registros
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 06-09-2011
Quim Herrera Quim Herrera is offline
Miembro
 
Registrado: may 2004
Posts: 33
Poder: 0
Quim Herrera Va por buen camino
Hola,

Prueba esto:
Código Delphi [-]

procedure DuplicaReg( Dataset: TDataset);
var
 aField : Variant ;
 ANomCamps: Variant;
 i,numcamps      : Integer ;
 begin

 aField := VarArrayCreate( [0, Dataset.Fieldcount-1], VarVariant);
 aNomCamps := VarArrayCreate( [0, Dataset.IBTable1.Fieldcount-1], VarVariant);
 numcamps:=  Dataset.Fieldcount;

 For i := 0 to (numcamps-1) Do
 Begin
   ANomCamps [i] :=  Dataset.fields[i].FieldName;
   aField[i] :=  Dataset.fields[i].Value ;
 End;
 Dataset.append;
 For i := 0 to (numcamps-1) Do
 Begin
    Dataset.FieldByName(ANomCamps[i] ).Value := aField[i ] ;
 End;
 Dataset.Post;
 
end;

Puedes utilizar un IBDataset o un IBTable.
No olvides de hacer el commit

Saludos,

Quim Herrera
Responder Con Cita
  #8  
Antiguo 06-09-2011
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
mmmm y que te parecio mi idea?
quiza alguien con mas experiencia en delphi pueda plasmarla, a veces es util repetir uno o varios registros
lo que no queria era programar, queria hacerlo desde ibexpert, pero creo que es mas limpia tu idea. gracias
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #9  
Antiguo 06-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Quim herrera lo hizo
parece que no estoy tan mal con las ideas no?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #10  
Antiguo 06-09-2011
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
gracias Quim Herrera

lo voy a probar
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #11  
Antiguo 07-09-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
¿ Puedes actualizar a la última versión de Firebird ?, puesto que en las últimas versiones corrigieron este comportamiento y tu instrucción ya funcionará como esperas.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #12  
Antiguo 07-09-2011
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
Cita:
Empezado por guillotmarc Ver Mensaje
¿ Puedes actualizar a la última versión de Firebird ?, puesto que en las últimas versiones corrigieron este comportamiento y tu instrucción ya funcionará como esperas.

Saludos.
tengo la 2.1.3 instalada. ok
__________________
Todos llevamos nuestros demonios a cuestas..
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
buscar varios registros en una tabla mdcynsk Varios 1 26-07-2010 02:35:00
duplicar registros ebeltete Firebird e Interbase 7 19-03-2009 14:09:28
Duplicar Registros Chris Firebird e Interbase 12 01-02-2008 21:35:30
Con delphi Insert en Firebird varios registros desde otra tabla lasweb Conexión con bases de datos 3 04-04-2005 20:58:26
Seleccionar varios registros de una tabla por un campo vhirginia Conexión con bases de datos 19 27-04-2004 12:00:57


La franja horaria es GMT +2. Ahora son las 16:52:43.


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