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 30-05-2007
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
Consulta sobre Querys y Delphi

Buenas tardes,

estoy "intentando" ( notese las comillas ) hacer un programita que coja los datos de una BD de una tabla X , e inserte la informacion en otra tabla Y de otra BD, el problema que tengo, donde me he quedado estancado, es que hago el query al campo que me interesa, meto la informacion en un DBMEMO , y luego saco esa informacion y la meto en una variable.

El problema es que haciendo la consulta asi, solo se coger el primer campo, y no se me ocurre como hacer un bucle para que vaya pasando por todos los campos, coja ese dato, lo meta en la otra BD y coja el siguiente dato, asi todo el rato.

Espero que me podais dar alguna sugerencia, se que es una pregunta bastante general, no estoy pidiendo codigo, ni que me lo den todo hecho, solo necesito un empujon para salir del estancamiento U_U, de que forma creeis que seria mejor hacer eso?

Tambien habia pensando teniendo el SQL de toda la base de datos, e ir leyendo el archivo linea a linea, pero no me acaba de convencer.


Bueno, un saludo,

Y muchas gracias por leer todo mi problema

Última edición por NeWsP fecha: 30-05-2007 a las 22:00:20.
Responder Con Cita
  #2  
Antiguo 30-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Así recorres los registros:

Código Delphi [-]
Table1.Open;
while not Table1.EoF do
begin
  {
    Aquí haces la transferencia de datos
  }
  Table1.Next;
end;

Pero, por otra parte, es posible que puedas hacer toda la transferencia con una sóla consulta SQL:

Código SQL [-]
insert into TablaDestino
(campo)
select campo from TablaOrigen

Dependiendo de qué base de datos uses, podrás hacer o no consultas cruzadas entre distintas bases. Por ejemplo, Paradox y MySQL lo permiten. Firebird no.

// Saludos
Responder Con Cita
  #3  
Antiguo 30-05-2007
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
muchisimas gracias roman

Uso mysql , pero son dos BD distintas, y distintas tablas, pero probare eso que comentas, la verdad que si se puede hacer directamente con una consulta seria una maravilla, muchisimas gracias ^^

Ahora a buscar info de como indicar cual es la BD 1 , la BD 2 , y las tablas correspondientes

Gracias
Responder Con Cita
  #4  
Antiguo 30-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por NeWsP
Ahora a buscar info de como indicar cual es la BD 1 , la BD 2 , y las tablas correspondientes
Te ahorro el trámite

Código SQL [-]
insert into BaseDestino.TablaDestino
(campo)
select campo from BaseOrigen.TablaOrigen

// Saludos
Responder Con Cita
  #5  
Antiguo 30-05-2007
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
uff perfecto, la verdad es que asi es mucho mas rapido y eficaz

muchas gracias otra vez, ahora estoy con las ultimas pruebas ya, algo que me esta tocando un poco las narices

esto funciona

Código:
insert into bd1.table1
(title,introtext,created)
select title,hometext,time from bd2.table2
esto no

Código:
insert into bd1.table1
(title,introtext,created, fulltext)
select title,hometext,time,bodytext from bd2.table2
Seguire investigando ^^

Bueno, x lo visto FULLTEXT es una palabra reservada U_U , si pongo ' tampoco funciona U_U alguna sugerencia?

Reedito : ahora probando con ` funciona perfecto ^^

Última edición por NeWsP fecha: 30-05-2007 a las 23:17:45.
Responder Con Cita
  #6  
Antiguo 30-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Usa los apóstrofes inversos ` para delimitar el nombre del campo.

// Saludos
Responder Con Cita
  #7  
Antiguo 30-05-2007
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
Gracias roman ^^ otra vez

al final edite mi mensaje sin ver que habias escrito.

Muchas gracias
Responder Con Cita
  #8  
Antiguo 31-05-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
Empezado por roman
Usa los apóstrofes inversos ` para delimitar el nombre del campo.
Por qué?

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 31-05-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Ya ya, ya vi. Me pasa por no leer todo.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta sobre Programación en Delphi mda1961 Conexión con bases de datos 7 28-02-2007 05:53:27
Consulta Sobre Delphi y Access herodes Varios 1 13-12-2005 21:41:47
Abrir 2 querys sobre una tabla muy lento Johnny Q Conexión con bases de datos 2 29-09-2005 20:46:34
consulta sobre .ini bytecero Varios 2 02-02-2005 21:01:09
Pregunta MUY tonta sobre querys NeWsP SQL 6 18-01-2004 03:33:10


La franja horaria es GMT +2. Ahora son las 18:02:07.


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