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 23-09-2016
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Te recomiendo el versión 7.2 que función 10 veces mas rapido.

y para instalar todo se solucione con este archivo

Zeos.inc

aquí dentro vasa encontrar un bloque de código por cada versión del compilador.

escoje la ultima duplicala

y solo cambias la directiva de comiplacion que indica la version de delphi que para la seatle seria la 300 si mas no recuerdo. y listo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #2  
Antiguo 23-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Buenos días.

Neftalí, el findkey lo utilizo para hacer una búsqueda en una tabla. Es muy efectivo y fácil, ya que a medida que vas tecleando la palabra a buscar, ves cómo va recorriendo la tabla (en un dbgrid) con gotokey y/o gotonearest. Empecé a usarlo porque observé que, en una búsqueda un tanto complicada para realizar un informe en una tabla con varios miles de registros, el locate tardaba demasiado (del orden de varios minutos), mientras que con el findkey, el mismo algoritmo y la misma tabla tardaba unos cuantos segundos. Ya te digo que soy algo novato con las mysql, así que qué me recomiendas? Volver al locate quizá??

Rastafarey, he echado un vistazo al código del fichero Zeos.inc, pero mira lo que he encontrado:

{$IF CompilerVersion >= 27} //Delphi XE6+
{$IF CompilerVersion >= 28} //Delphi XE7+
{$UNDEF WITH_DBTABLES} //M.A. In Delphi XE7 no BDE
{$IF CompilerVersion >= 29} //Delphi XE8+
{$IF CompilerVersion >= 30} //Delphi Seattle+
{$ELSE !CompilerVersion >= 30} //Delphi XE8
{$IFEND CompilerVersion >= 30}
{$ELSE !CompilerVersion >= 29} //Delphi XE7
{$IFEND CompilerVersion >= 29}
{$ELSE !CompilerVersion >= 28} //Delphi XE6
{$IFEND CompilerVersion >= 28}
{$ELSE !CompilerVersion >= 27} //Delphi XE5
{$IFEND CompilerVersion >= 27}
{$ELSE !CompilerVersion >= 26} //Delphi XE4
{$IFEND CompilerVersion >= 26}
{$ELSE !CompilerVersion >= 25} //Delphi XE3
{$IFEND CompilerVersion >= 25}
{$ELSE !CompilerVersion >= 24} //Delphi XE2
{$IFEND CompilerVersion >= 24}
{$ELSE !CompilerVersion >= 23} //Delphi XE
{$IFEND CompilerVersion >= 23}
{$ELSE !CompilerVersion >= 22} //Delphi 2010
{$DEFINE WITH_URW1111_ISSUE} //D2010 can't compile for some strange reasons with inlined code.
{$IFEND CompilerVersion >= 22}
{$ELSE !CompilerVersion >= 21} //Delphi 2009
{$DEFINE WITH_INLINE_ANSISTRLCOMP} //AnsiStrLComp is inlined in D2009 only
{$DEFINE WITH_URW1135_ISSUE} //D2009 can't compile for some strange reasons with inlined code.
{$IFEND CompilerVersion >= 21}
{$IFEND CompilerVersion >= 20} //Delphi 2007
{$IFEND CompilerVersion >= 18.5} //Delphi 2006
{$ELSE !CompilerVersion >= 18} //Delphi 2005
{$DEFINE WITH_C11389_ERROR} //D2005 has some inline problems
{$IFEND CompilerVersion >= 18}
{$IFEND CompilerVersion >= 17} //Delphi 8
{$IFEND CompilerVersion >= 16} //Delphi 7
{$IF not defined(PatchSystemMove) and defined(WIN32)}
{$DEFINE FAST_MOVE}
{$IFEND}
{$IFEND CompilerVersion < 15}
{$ENDIF}

Así que creo que no puede ser. Muchas gracias de todos modos.

Saludos.
Responder Con Cita
  #3  
Antiguo 23-09-2016
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.288
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 javierin_ Ver Mensaje
Buenos días.

Neftalí, el findkey lo utilizo para hacer una búsqueda en una tabla. Es muy efectivo y fácil, ya que a medida que vas tecleando la palabra a buscar, ves cómo va recorriendo la tabla (en un dbgrid) con gotokey y/o gotonearest. Empecé a usarlo porque observé que, en una búsqueda un tanto complicada para realizar un informe en una tabla con varios miles de registros, el locate tardaba demasiado (del orden de varios minutos), mientras que con el findkey, el mismo algoritmo y la misma tabla tardaba unos cuantos segundos.
Ya te digo que soy algo novato con las mysql, así que qué me recomiendas? Volver al locate quizá??
¿Qué base de datos utilizabas antes con el BDE?
Imagino que una Base de Datos en local. Es lo que te comento, el problema no es del LOCATE/FINDKEY es algo asociado a la Base de Datos.

En las BD locales todos los datos están en memoria, por eso findkey, locate o lo que usaras va rápido.
Cuando utilizas una BD servidor, esa idea de tener los datos en local desaparece y lo que priva es minimizar el tráfico de datos (porque lo normal para estas bases de datos, es que van a estar en un servidor y no te puedes traer toda la tabla a local para hacer una búsqueda incremental).

La recomendación no es usar un método u otro, sino eliminar la utilización de la búsqueda incremental (en general).

Si por lo que sea tienes una tabla relatívamente pequeña, puedes cargar la en memoria con algún componente y realizarla, pero no es lo que se aconseja y en todo caso no hacerlo directamente sobre el servidor, sino como te he dicho sobre una tabla que préviamente has cargado en memoria. Pero como te he dicho eso de "traer la tabla completa a memoria" no es nada recomendable y no es una buena práctica.
NOTA: Por ejemplo, si la aplicación va a ser monopuesto y el servidor está en la misma máquina puedes hacerlo, pero entonces deberías plantearte si necesitar usar un "Servidor de Base de Datos" para esto. Tal vez estés escogiendo mal la tecnología a utilizar. En este caso
__________________
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
  #4  
Antiguo 21-10-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Buenos días. Disculpa por la tardanza en contestar, Neftali. Antes usaba tablas DBASE y siempre había trabajado en un servidor que estaba dentro de una red local.

Al final me he decantado por seguir (de momento) con Delphi 7. Las pruebas que he hecho conectando a la BDD MYSQL van bien. La aplicación sigue su marcha, pero cuanto más avanzo, más me ronda una cosa en la cabeza: hasta ahora eran pequeñas empresas las destinatarias de mis aplicaciones, con lo cual era yo mismo quien se las instalaba; ahora tengo que distribuir la aplicación a muchas personas, así que no puedo ir uno a uno instalándola. Me refiero que no solo es el .exe, sino también la configuración del OBDC y, sobre todo, la instalación del BDE. He descargado un instalador gratuito (IsTool), ya que hasta ahora no había usado ninguno. El ODBC ya está, pero no sé cómo hacer que se instale el BDE.

No sé si debería poner esto en otro foro. Si es así, que alguien me lo diga y lo cambio.

Gracias.
Responder Con Cita
  #5  
Antiguo 21-10-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.046
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por javierin_ Ver Mensaje
No sé si debería poner esto en otro foro.
Preguntas distintas, hilos distintos
Responder Con Cita
  #6  
Antiguo 21-10-2016
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.288
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 javierin_ Ver Mensaje
...pero cuanto más avanzo, más me ronda una cosa en la cabeza: hasta ahora eran pequeñas empresas las destinatarias de mis aplicaciones, con lo cual era yo mismo quien se las instalaba; ahora tengo que distribuir la aplicación a muchas personas, así que no puedo ir uno a uno instalándola. Me refiero que no solo es el .exe, sino también la configuración del OBDC y, sobre todo, la instalación del BDE. He descargado un instalador gratuito (IsTool), ya que hasta ahora no había usado ninguno. El ODBC ya está, pero no sé cómo hacer que se instale el BDE.
Pues es una inquietud importante, porque es algo que te puede llevar mucho tiempo.
Tú mismo te das cuenta de que si las instalaciones son muchas, hay que reducir el tiempo a emplear en ellas (porque no se puede hacer) y también hay que intentar reducir la posibilidad de que los clientes tengas errores o problemas, porque eso repercute en llamadas y tiempo dedicado.

Con esto te quiero decir que tal vez deberías plantearte si el diseño es el correcto y las posibilidades de "problemas" que te puede traer esta configuración:
EXE + ODBC + BDE + BASEDATOS
Cuantas más instalaciones y configuraciones debas hacer más poblemas te pueden surgir.
__________________
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
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
error mysql en componente zeoslib giulichajari Conexión con bases de datos 1 31-08-2014 06:30:53
Conexion con ZeosLib a Mysql Remoto ander Conexión con bases de datos 5 03-07-2014 12:07:17
Ejecutable (mysql+zeoslib) vmorillos MySQL 8 27-12-2010 17:49:18
Ayuda con una consulta de MySQL desde Delphi con ZeosLib...!! NeySmall Varios 3 17-04-2008 22:22:50
ZeosLib y MySQL 5 onlytk Conexión con bases de datos 2 31-12-2005 03:37:52


La franja horaria es GMT +2. Ahora son las 17:58: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