Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2005
lasweb lasweb is offline
Registrado
 
Registrado: abr 2005
Posts: 2
Poder: 0
lasweb Va por buen camino
Con delphi Insert en Firebird varios registros desde otra tabla

Tengo que insertar varios registros de una tabla en otra que tiene los mismos campos, he probado con varios modos y solo me inserta el ultimo
with dei do
begin
Close;
sql.Clear;
SQL.Add('insert into dei (item,nupd,preco,quant) values '#39+veiitem.Value+#39+','+#39+veinupd.Value+#39+','+#39+veipreco.asstring+#39+','+#39+veiquant.asst ring+#39+')');
Open;
end;

Tambien intente de esta manera ya que el anterior me ingresa el ultimo

with dei do
begin
Close;
sql.Clear;
SQL.Add('insert into dei select * from vei WHERE' +#39+veinupd.Value+#39+ '='+#39+nroboleta.Caption+#39);
Open;
end;
Como puedo hacer desde ya gracias
Responder Con Cita
  #2  
Antiguo 04-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Hola lasweb, veo que es tu primer mensaje, asi que bienvenido al cub delphi.

Si lo que queres es "voltear" todos los registros de un dataset a otro, entre otras formas, podes hacer un "ciclo" que pase los registros uno por uno de un lado a otro... algo como:

Código Delphi [-]
Procedure TForm1.CopiarRegistros;

Begin
  Tabla1.Open;
  while not Tabla1.eof do
  Begin
    Tabla2.Insert;
    Tabla2Campo1.Value := Tabla1Campo1.Value;
    Tabla2Campo2.Value := Tabla1Campo2.Value;
    Tabla2.Post;
    Tabla1.Next; 
  end;
end;

Hay también otras formas de lograr el mismo resultado, quizas mas rápidas o eficientes, pero depende de si las tablas están en la misma base de datos, de que motor uses y algunas otras variables.

Hasta luego.

pd. ¿Notas la diferencia entre el código de delphi que yo he publicado y el tuyo?. Te recomiendo buscar al principio de cada foro el tema que habla sobre las etiquetas [ code ], [ delphi ] y [ sql ] especiales para publicar código.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 04-04-2005
lasweb lasweb is offline
Registrado
 
Registrado: abr 2005
Posts: 2
Poder: 0
lasweb Va por buen camino
Con delphi insetar varios regisrtos de una tabla a otra

Hola y gracias por la bienvenida al Grupo:

Mi idea es usar TIBquery por que son mas rapidas . Con TIBTable sabria como hacerlo. Las tablas estan en una misma base de datos Firebir 1.5 y contienen los mismos campos en nombre, tipo y longitud. Pero cuando actualizo las tablas con un una condicion toros los registros que sean igual a un determinado numero, solo me actualiza el ultimo si son 4 me actualiza el ultimo item. Y esa era mi pregunta como cargar efectivamente los registros de una tabla a otra.
con un comando where o algo similar.


Un abarzo y dese ya gracias
Responder Con Cita
  #4  
Antiguo 04-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
El código que te di perfectamente puede ser usado sobre un TIBQuery.

El problema (que creí que seria evidente) es que vos no haces un ciclo, por lo que solamente se almacenará un registro (el que sea el registro actual del dataset fuente).

Si todo está en un firebird, lo que si será mas óptimo es hacer la inserción de los registros via SQL, entre mas registros sean, mas óptimo será, pues se evita todo el tráfico de red.

La instrucción para dos tablas de estructura identíca será asi:

Código SQL [-]
  Insert into TablaDestino
    Select *
      from TablaFuente
     where condiciones;

Que podes enviar a ejecutar desde un TIBSQL o un TIBQuery.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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


La franja horaria es GMT +2. Ahora son las 16:33:42.


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