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 20-09-2004
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Thumbs up Lo siento, perdonad las molestias.

Siento no haber leido la guia de estilo.
Con los controles ADO ya ve copia los datos mucho mas rapido.
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 20-09-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿En cuanto tiempo ha quedado la cosa al final? (sólo por curiosidad)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 20-09-2004
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Estoy en ello.

En cuanto haya hecho las pruebas suficientes os lo digo.
Responder Con Cita
  #4  
Antiguo 20-09-2004
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Question Mas problemas

Tengo el siguiente código dentro de un bucle para escribir datos en la tabla destino, pero no me guarda los datos, aunque no me da ningún error:
ADOQueryAux és un objeto TADOQuery en el que hay datos, ADOTAccessDades és una tabla ADO ligada a un objeto TADOConnection en el que hay un connection string hacia la base de datos destino.

ADOTAccessDades.Insert;
ADOTAccessDades.Fields[0].Value := ADOQueryAux.Recordset.Fields.Item[0].Value;
ADOTAccessDades.Fields[1].Value := ADOQueryAux.Recordset.Fields.Item[1].Value;
ADOTAccessDades.Fields[2].Value := ADOQueryAux.Recordset.Fields.Item[2].Value;
ADOTAccessDades.Fields[3].Value := ADOQueryAux.Recordset.Fields.Item[3].Value;
ADOTAccessDades.Post;
ADOQueryAux.Recordset.MoveNext;

Por qué no me guarda los registros?
Responder Con Cita
  #5  
Antiguo 20-09-2004
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Question Dos cosillas....

Primera: Como hago lo de los índices en las tablas destino?
Segunda: Las propiedades que mencionas al usar un ADOQuery en lugar de un ADOTable tienen que estar en los valores que has escrito exactamente?

Millones de gracias.
Responder Con Cita
  #6  
Antiguo 20-09-2004
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Post Test de velocidad

Tengo ya el programa probado con controles ADO y aparentemente no se aprecia ningún cambio en cuanto a lo que a velocidad se refiere.
No sé si será por algo que me falta o qué, pero parece que no hay cambio alguno.

Mas consejos?
Responder Con Cita
  #7  
Antiguo 21-09-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Tecnic2
Primera: Como hago lo de los índices en las tablas destino?
Se trata de NO crear los índice al cear la tabla, luego hacer las inserciones y finalmente crear los índices. Al final puedes crear los indices utilizando SQL con un ADOQuery. Ésto no siempre es posible, ya que a veces interesa que los índices estén creados (para evitar duplicaciones, por ejemplo), pero si sólo vas a copiar los datos de una tabla que ya está correcta, tal vez te sirva. El problema, es que si tienes una tabla con 3 índices (por ejemplo), cada vez que haces un insert la Tabla, la BD debe "regenerar" esos tres índices, cuando en realidad bastaría hacerlo una única vez al final (de ahí lo de crearlos al final).

NOTA: Creo que ésta opción de los índices, si puedes hacerla, tb acelerará bastante.


Cita:
Empezado por Tecnic2
Segunda: Las propiedades que mencionas al usar un ADOQuery en lugar de un ADOTable tienen que estar en los valores que has escrito exactamente?
En principio sí (aunque no las puedo probar), Prepared(False) es el valor por defecto para que ADO no prepare la consulta, ExecuteOptions(eoExecuteNoRecords) para que ADO no espere registros de vuelta ya que es un Insert y CursorType(ctOpenForwardOnly) si no deseas hacer recorridos en dos direcciones por el Dataset, ya que tiene mejor rendimiento (y en tu caso no los necesitas, ya que sólo vas a hecer recorrido simple en una dirección).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 21-09-2004
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Question Cómo creo los índices desde código?

Muchas gracias por tu respuesta Neftali.

Mi problema surge cuando establezco esos parámetros en mi control ADOQuery, me da un error de incompatibilidad, o algo así, entre éllos.

Por otra parte, cómo lo hago para crear los índices de las tablas desde código? Además, no entiendo por que tendría que acelerar el traspaso de datos el crear los índices al final si precisamente al final los datos ya están copiados.

Otra vez, gracias por adelantado.
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 02:09:20.


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