Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 02-12-2009
Avatar de pnikkosis
pnikkosis pnikkosis is offline
Miembro
 
Registrado: nov 2009
Ubicación: Buenos Aires
Posts: 15
Poder: 0
pnikkosis Va por buen camino
Axel, sos un tipo groso, entendiste perfecto como era la cosa!

Lo acabo de leer y no estoy en la compu donde tengo el delphi, asi que cuando llegue me pongo a probarlo; te hago una consulta, esto va a hacer un select de la tabla en la base1 desde tal codigo hasta tal codigo; despues va a hacer un select de la segunda tabla en la segunda base donde el codigo sea el mismo que los seleccionados de la base1. Despues va a hacer un insert linea por linea en la tercer base hasta que se termine el select1.
Mi consulta era, a veces pasa que en la base2 hay un codigo que no esta en la base1, como en el ejemplo que yo puse en el primer post. Por eso mi idea inicial era tomar el select de la primer base y hacer insert; tomar el select de la segunda base y hacer insert y despues update; y el select de la segunda tambien contemplarlo por lo que haya en los edit en vez de lo que me dio como resultado el select1, entonces si hay un codigo que existe en una pero en la otra no quedaria agregado igual.
Igualmente si, la base1 es la que tiene la "mayoria" de los codigos, y entre las bases, si el codigo existe su nombre es igual, o sea que el campo codigo y nombre si los iba a tomar como referencia para crear la tabla nueva. Mi idea, es hacer esto a las N bases, o sea que en el ejemplo son dos, pero ponele que fueran 5 o 20 bases.

Volvi a releer tu propuesta, y se me ocurrio lo siguiente (no lo escribo en codigo porque a algo le voy a errar, pero decime si mi teoria seria correcta)
Tengo los componentes IBQuery1, 2, 3....N correspondiente a cada base para hacer los select, y un IBQueryX que va a ser el que grabe la info en la tabla que tenga los datos de todas.
Empiezo con un select en el query1 desde y hasta lo que me indiquen los edit. Me posiciono en la primer linea; abro un while query1 eof y en una variable string voy agregando como vos hiciste los campos, nada mas que el precio2 lo dejo vacio, uso el queryX para grabar a la tabla nueva.
Cuendo termina el while hago un select del query2, igual que el 1, contemplando los edit desde y hasta, abro un while query2 eof y en la variable agrego todo el insert (que si ya se habia insertado con el del query1 lo va a saltear, y sino lo va a agregar) y despues un update (para agregarle el precio2). Termina el while, y asi sucesivamente hasta la cantidad de bases que tenga, un select de la tercera, abro while, insert y update, cierro while; un select de la cuarta, abro while etc etc etc.

En teoria funcionara?

Te cuento cuando llego a la compu donde tengo delphi. Igualmente, me dieste una idea de como arrancar! mil gracias!

Que lindo seria esto si laburara con firebird 2.1, donde podes hacer un "UPDATE OR INSERT" que contempla justo estos casos.

Última edición por pnikkosis fecha: 02-12-2009 a las 13:56:53.
Responder Con Cita
 



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
Tomar datos del lector de código de barras jam888 OOP 4 22-03-2010 17:53:03
Tomar datos de otra aplicacion dblx API de Windows 4 23-12-2008 01:16:38
Tomar datos de excel vinagre3ro Internet 2 04-10-2006 09:59:28
Hola soy muy nueva en esto de las bases de datos y deseo imprimir tablas nuri Impresión 1 05-07-2005 19:49:31
Como mostrar los datos para luego insertarlos? judoboy OOP 8 14-05-2003 09:51:51


La franja horaria es GMT +2. Ahora son las 01:49:25.


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