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 28-05-2003
Avatar de hgiacobone
hgiacobone hgiacobone is offline
Miembro
 
Registrado: may 2003
Ubicación: La Plata, Bs. As., Argentina
Posts: 165
Poder: 21
hgiacobone Va por buen camino
Arrow Antes era re-facil

Antes, con mi viejo Clipper, era sencillo tomar de una tabla ciertos campos y adicionarlos en otra. Simplementa bastaba con recorrer la DB con un bucle e ir adicionando esos registros a la segunda tabla; previo abrirlas con un simple comando USES y cerrarlas luego con otro simple comando CLOSE.

¿Por que esto en Delphi es tan deshumanamente complicado?

Me refiero al siguiente caso, que no puedo resolver y tal vez alguien tenga la gran amabilidad de ayudar a este póbre programador obsoleto con un simple ejemplillo, veamos:

En una base MDB (a quién se le puede ocurrir) hayuna tabla con campos similares a los de otra tabla Paradox-DB.
Digamos, ID_NUM, NOMBRE, DOMICILIO y LOCALIDAD, todos alfanumericos.
En la primer tabla (la Access) el campo LOCALIDAD es (A-2) porque conserva dígitos que referencian hacia otra tabla (DETLOC) que tiene campos llamados ID_LOC (A-2); DETALLE (A-30) por ejemplo. El campo ID_LOC sirve de enlace.

Siendo ID_NUM el campo clave en ambas DB (la Access y la Paradox) necesito recorrer la primera (y su tabla de detalles de localidades) e incorporar los registros a la segunda que se encuentra vacía.

Mediante BDE puedo abrir la Paradox pero no la Accesess, me da un "error_OLE_no_se_cuanto. Con ADO es mejor, ya que por lo menos la puedo abrir.

La cosa es que no se cómo armar el bucle que comentaba al principio. ¿Alguien que me entienda y pueda auxiliarme?
__________________
Gracias de antemano por vuestra ayuda.
·.:*:.·Yako·.:*:.·
Responder Con Cita
  #2  
Antiguo 28-05-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
No diria que es mas dificil, sino simplemente una cuestión de mañas. De hecho, es mucho mas facil hacer un

Query.SQL.Text := 'INSERT INTO TABLA1(campo1, campo2)
SELECT campo1, campon from tabla2';
Query.execSQL;

que seleccionar los registros de la tabla, hacer un for e ir haciendo inserciones registro por registro, además de ser por mucho más óptimo.

En tu caso, especifica mejor el tipo de error y danos un poco de codigo. Es muy probable que sea un problema con conversion de tipos, pero eso tendremos que definirlo de acuerdo al error que te lanza la app.
__________________
Héctor Geraldino
Software Engineer
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 19:11: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