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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 20
el_barto Va por buen camino
Lightbulb pasar de una tabla1 a una tabla2 la misma info

Buenas tardes:

Tengo una tabla1 que tiene campos campo1, campo2
Tengo otra tabla que tienen campos campo1, campo2, campo3

donde para la tabla1 y la tabla2 los campos campo1 y campo2 son exactamente iguales. lo unico que cambia es que la tabla2 tiene un campo que se llama campo3.

como se hace para pasar toda la informacion de la tabla 1 a la tabla2
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #2  
Antiguo 26-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Código SQL [-]
insert into tabla2(campo1, campo2)
select campo1, campo2 from tabla1
__________________

Responder Con Cita
  #3  
Antiguo 26-07-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 20
el_barto Va por buen camino
esto lo coloco en mi dataset1.insertsql??

Código Delphi [-]
 
insert into tabla2(campo1, campo2)
select campo1, campo2from tabla1

y mi pregunta es donde queda mi campo3 de la tabla2
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #4  
Antiguo 27-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
mmmmm, si los quieres pasar todos de una vez desde delphi
Código Delphi [-]
with TuDataset do begin
SQL.Clear;
SQL.Add('insert into tabla2(campo1, campo2)');
SQL.Add('select campo1, campo2 from tabla1');
ExecSQL;
end; //Fin with

en este caso Campo3 quedaría vacio....

si lo que queires es ir pasando campo1 y campo2 y tambien asignar un valor a campo3, lo que tendrías que hacer es un ciclo que recorra todo tu dataset y luego asignar T1.campo1=T2.campo1 y asignarle el valor a campo3.... de uno por uno... a menos que campo 3 se pueda calcular con campo1 y campo 2.....
__________________


Última edición por ContraVeneno fecha: 27-07-2005 a las 00:17:09. Razón: no había visto tu pregunta de donde queda el campo 3
Responder Con Cita
  #5  
Antiguo 27-07-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 20
el_barto Va por buen camino
Pues en realidad campo3 es un trigger en interbase creado como before insert, entonces el campo no quedara vacio
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #6  
Antiguo 31-08-2005
Avatar de dmagui
dmagui dmagui is offline
Miembro
 
Registrado: may 2005
Posts: 168
Poder: 20
dmagui Va por buen camino
Exclamation

Hola estoy intentando hacer la instruccion propuesta por Contraveneno, pero tengo un inconveniente:

Código Delphi [-]
 
procedure TForm1.Button3Click(Sender: TObject);
 begin
   with ibdataset1 do begin
     Close;
     selectsql.Clear;
     selectsql.Add('insert into cotizacion(codigo_comp, item_subcomp)');
     selectsql.Add('select codigo_comp, item_subcomp from prod_comp where codigo_prod ='
       + Quotedstr(DBlookupcombobox4.Field.Value)+'and item_subprod ='
       + Quotedstr(Dblookupcombobox5.field.Value));
     execsql;
     open;
   end;
 end;
y no me esta guardando nada en la base de datos, debo agregarle algo mas??, gracias por la ayuda
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde.

Última edición por dec fecha: 09-09-2005 a las 20:38:28. Razón: Ajustar el ancho del texto
Responder Con Cita
  #7  
Antiguo 31-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Hay una ligera diferencia entre tu ejemplo y el mio.
Código Delphi [-]
selectsql.Add('insert ...
//Notas la diferencia?
SQL.Add('insert .....


Además de eso, la instrucción Open no debería estar despues de un ExecSQL, de hecho, Open se utiliza solo cuando son consultas (select) y ExecSQL se utiliza cuando se van a realizar cambios (Update, insert, delete, etc) Pero no debes usar las dos juntas. Y creo que falta un espacio antes del and
__________________


Última edición por ContraVeneno fecha: 31-08-2005 a las 19:42:20.
Responder Con Cita
  #8  
Antiguo 31-08-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 20
el_barto Va por buen camino
Asi tambien

Código Delphi [-]
 

procedure TForm1.Button1Click(Sender: TObject);
begin
with ibdataset1 do begin
  open;
    while not EOF do begin
      IBdataset2.Append;
      Dbedit1.Text:=ibdataset1.fieldbyname('campo1').asstring;
      DBEdit2.Text:=ibdataset1.fieldbyname('campo2').asstring;
      DbEdit3.Text:=Ibdataset1.fieldbyname('campo3').asstring;
      next;
    end;
end;
ibdataset2.ApplyUpdates;
ibtransaction1.Commit;
end;

Asi tambien se puede hacer, pero es mas funcional como dice contraveneno
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
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


La franja horaria es GMT +2. Ahora son las 09:25:59.


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