![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Despejar Dudas con Insert
Hola a todos....
Mi aplicacion en Interbase debe insertar registros en una tabla haciendo un do while en otra. La pregunta es que opcion es mejor y porqué, ya que soy nuevo en Interbase. Aqui va el código de la opcion 1: Tabla1.First; while not Tabla1.Eof do begin Tabla2.Close; Tabla2.selecSql.clear; Tabla2.selecSql.Add('insert into Tabla2 (campo) VALUES (:campo) ' ); Tabla2.ParamByName('campo').AsString := Tabla1Nombre.Value; Tabla2.Prepare; Table2.ExecSql; Transaction.Commit // Transaction enlazada a Tabla2 graba Tabla1.Next; end; Esto funciona pero es lento. Supongo que es la ejecución del Query por cada registro leido de Tabla1 Codigo de la opcion 2, funciona, es más rápido... pero está bien? Tabla2.Close; Tabla2.selecSql.clear; Tabla2.selecSql.Add('insert into Tabla2 (campo) VALUES (:campo) ' ); Tabla2.Prepare; Tabla1.First; while not Tabla1.Eof do Tabla2.ParamByName('campo').AsString := Tabla1Nombre.Value; Table2.ExecSql; Tabla1.Next; end; Transaction.Commit // Transaction enlazada a Tabla2 graba Me gustaría si alguno puede hacer algún comentario al respecto como para conocer un poco más acerca del funcionamiento de Interbase. Gracias a todos por anticipado |
|
|
![]() |
|