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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Conectar con mysql y zeoslib

Buenos días. Hasta hace poco usaba Delphi7 pero, por problemas con el Windows 10, decidí cambiar a Delphi 10 Seattle. Mi primera sorpresa fue que ya estaba el BDE (lógico, por otra parte). Agradecería enormemente que alguien me ayudara a conectar con una BD MySql, en un servidor externo. Por lo que he podido leer por ahí existen unos componentes, los ZEOSLIB, que deben ser bastante buenos para lo que yo quiero, pero el caso es que cuando los instalo, al compilarlos, me salen 35 errores. Por favor, alguien me puede ayudar, ya sea con la instalación de los Zeos, ya sea con otra solución para poder conectarme?

Muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 14-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.267
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
...el caso es que cuando los instalo, al compilarlos, me salen 35 errores.
En este caso tu problema está en la instalaciñón de los componentes.
Lo normal es que si no hay instalador, junto con el paquete venga algún fichero con instrucciones.

Si has seguido las instrucciones, y te da errores (como comentas) lo lógico sería que dieras datos para poder ayudarte, siono difícilmente podremos hacer algo.

* Versión De Delphi
* Versión de los componentes descargarda (web de descarga).
* Error/es que te dan.
* ...
__________________
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 14-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Hola Neftalí. Gracias por tu pronta respuesta. A continuación contesto a tus preguntas:

-Versión de Delphi: Embarcadero® RAD Studio 10 Seattle Version 23.0.21418.4207
-Versión de Zeos: ZEOSDBO-7.1.4-stable. Es la última versión estable hasta ahora. Dentro de ésta instalo el package "Delphi2010"
-Errores que salen (tras seguir las instrucciones al pie de la letra):

Checking project dependencies...
Building ZCore.dproj (Debug, Win32)
brcc32 command line for "ZCore.vrc"
c:\program files\embarcadero\studio\17.0\bin\cgrc.exe -c65001 "ZCore.vrc" -foZCore.res
dcc32 command line for "ZCore.dpk"
c:\program files\embarcadero\studio\17.0\bin\dcc32.exe -$W+ -$Q+ --no-config -B -Q -Z -TX.bpl -AGenerics.Collections=System.Generics.Collections;
Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes= BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -Ibuild;
"c:\program files\embarcadero\studio\17.0\lib\Win32\release";C:\Users\javier\Documents\Embarcadero\Studio\17.0\I mports;"c:\program
files\embarcadero\studio\17.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp;"c:\pro gram files\embarcadero\studio\17.0\include";
"C:\Program Files\FastReports\LibD23";"C:\Program Files\Devart\MyDAC for RAD Studio 10\Lib\Win32";"C:\Program Files\Devart\MyDAC for RAD Studio
10\Bin\Win32";"C:\Program Files\Embarcadero\ZEOSDBO\src";"C:\Program Files\Embarcadero\ZEOSDBO\src\component";"C:\Program
Files\Embarcadero\ZEOSDBO\src\core";"C:\Program Files\Embarcadero\ZEOSDBO\src\dbc";"C:\Program Files\Embarcadero\ZEOSDBO\src\parsesql";"C:\Program
Files\Embarcadero\ZEOSDBO\src\plain";"C:\Program Files\Embarcadero\ZEOSDBO\packages\Delphi2010\build"
-LEC:\Users\Public\Documents\Embarcadero\Studio\17.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp -NUbuild -NSWinapi;System.Win;
Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap;Winapi; -Obuild;
C:\Users\Public\Documents\Embarcadero\Studio\17.0\Bpl;"c:\program files\embarcadero\studio\17.0\lib\Win32\release";
C:\Users\javier\Documents\Embarcadero\Studio\17.0\Imports;"c:\program files\embarcadero\studio\17.0\Imports";
C:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp;"c:\program files\embarcadero\studio\17.0\include";"C:\Program Files\FastReports\LibD23";
"C:\Program Files\Devart\MyDAC for RAD Studio 10\Lib\Win32";"C:\Program Files\Devart\MyDAC for RAD Studio 10\Bin\Win32";"C:\Program
Files\Embarcadero\ZEOSDBO\src";"C:\Program Files\Embarcadero\ZEOSDBO\src\component";"C:\Program Files\Embarcadero\ZEOSDBO\src\core";"C:\Program
Files\Embarcadero\ZEOSDBO\src\dbc";"C:\Program Files\Embarcadero\ZEOSDBO\src\parsesql";"C:\Program Files\Embarcadero\ZEOSDBO\src\plain";"C:\Program
Files\Embarcadero\ZEOSDBO\packages\Delphi2010\build" -Rbuild;C:\Users\Public\Documents\Embarcadero\Studio\17.0\Bpl;"c:\program
files\embarcadero\studio\17.0\lib\Win32\release";C:\Users\javier\Documents\Embarcadero\Studio\17.0\I mports;"c:\program
files\embarcadero\studio\17.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp;"c:\pro gram files\embarcadero\studio\17.0\include";
"C:\Program Files\FastReports\LibD23";"C:\Program Files\Devart\MyDAC for RAD Studio 10\Lib\Win32";"C:\Program Files\Devart\MyDAC for RAD Studio
10\Bin\Win32";"C:\Program Files\Embarcadero\ZEOSDBO\src";"C:\Program Files\Embarcadero\ZEOSDBO\src\component";"C:\Program
Files\Embarcadero\ZEOSDBO\src\core";"C:\Program Files\Embarcadero\ZEOSDBO\src\dbc";"C:\Program Files\Embarcadero\ZEOSDBO\src\parsesql";"C:\Program
Files\Embarcadero\ZEOSDBO\src\plain";"C:\Program Files\Embarcadero\ZEOSDBO\packages\Delphi2010\build" -Ubuild;"c:\program
files\embarcadero\studio\17.0\lib\Win32\release";C:\Users\javier\Documents\Embarcadero\Studio\17.0\I mports;"c:\program
files\embarcadero\studio\17.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp;"c:\pro gram files\embarcadero\studio\17.0\include";
"C:\Program Files\FastReports\LibD23";"C:\Program Files\Devart\MyDAC for RAD Studio 10\Lib\Win32";"C:\Program Files\Devart\MyDAC for RAD Studio
10\Bin\Win32";"C:\Program Files\Embarcadero\ZEOSDBO\src";"C:\Program Files\Embarcadero\ZEOSDBO\src\component";"C:\Program
Files\Embarcadero\ZEOSDBO\src\core";"C:\Program Files\Embarcadero\ZEOSDBO\src\dbc";"C:\Program Files\Embarcadero\ZEOSDBO\src\parsesql";"C:\Program
Files\Embarcadero\ZEOSDBO\src\plain";"C:\Program Files\Embarcadero\ZEOSDBO\packages\Delphi2010\build" -K00400000 --description:"Zeos Core Classes and
Interfaces" -NBC:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp -NHbuild -NObuild ZCore.dpk
[dcc32 Error] ZSysUtils.pas(572): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(576): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(638): E2003 Undeclared identifier: 'DecimalSeparator'
[dcc32 Error] ZSysUtils.pas(639): E2003 Undeclared identifier: 'ThousandSeparator'
[dcc32 Error] ZSysUtils.pas(642): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(661): E2003 Undeclared identifier: 'DecimalSeparator'
[dcc32 Error] ZSysUtils.pas(751): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(869): E2003 Undeclared identifier: 'DecimalSeparator'
[dcc32 Error] ZSysUtils.pas(1256): E2010 Incompatible types: 'PPointerList' and 'TPointerList'
[dcc32 Error] ZSysUtils.pas(1276): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(1278): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(1291): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(1299): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(1335): E2251 Ambiguous overloaded call to 'CharInSet'
System.SysUtils.pas(5884): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
ZCompatibility.pas(1): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
[dcc32 Error] ZSysUtils.pas(1464): E2003 Undeclared identifier: 'DecimalSeparator'
[dcc32 Error] ZSysUtils.pas(1465): E2003 Undeclared identifier: 'ThousandSeparator'
[dcc32 Warning] ZSysUtils.pas(1467): W1000 Symbol 'AnsiStrPos' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZSysUtils.pas(1468): W1000 Symbol 'AnsiStrPos' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZSysUtils.pas(1479): W1000 Symbol 'AnsiStrPos' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZSysUtils.pas(1483): W1000 Symbol 'AnsiStrPos' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZSysUtils.pas(1484): W1000 Symbol 'AnsiStrPos' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZSysUtils.pas(1512): W1000 Symbol 'StrLen' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Warning] ZSysUtils.pas(1531): W1000 Symbol 'StrLen' is deprecated: 'Moved to the AnsiStrings unit'
[dcc32 Fatal Error] ZEncoding.pas(917): F2063 Could not compile used unit 'ZSysUtils.pas'
Failed
Responder Con Cita
  #4  
Antiguo 14-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Ah, tengo un Windows 10 Pro.

Saludos.
Responder Con Cita
  #5  
Antiguo 14-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.267
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
-Versión de Delphi: Embarcadero® RAD Studio 10 Seattle Version 23.0.21418.4207
-Versión de Zeos: ZEOSDBO-7.1.4-stable. Es la última versión estable hasta ahora. Dentro de ésta instalo el package "Delphi2010"

OK. Ahora está todo un poco más claro.
Parece que hay un error con las versiones de Delphi. Revisa esta página y mira las diferentes versiones de Delphi a lo largo del tiempo.

El package Delphi2010 no es el que corresponde a la versión Delphi XE10 Seatle, sino realmente à la versión delphi 2010 (año 2010).
Veo que los packages de Zeos sólo llegan hasta la versión XE7, así que prueba con ese que es el último y debe ser el más compatible con Delphi XE10.
__________________
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
  #6  
Antiguo 14-09-2016
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 javierin_ Ver Mensaje
Buenos días. Hasta hace poco usaba Delphi7 pero, por problemas con el Windows 10
¿Puedo saber qué problemas has tenido?

LineComment Saludos
Responder Con Cita
  #7  
Antiguo 14-09-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Los componente Zeos en su ultima version estable no traen el soporte para Seattle, es necesario realizar ajustes, existe una version que aun no esta estable que si cuenta con el package para seatle, y si vas a intentar instalar el zeos debes intentar con la version mas sercana a la tuya (la 2010 ni de broma) que seria para XE8.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #8  
Antiguo 14-09-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
En el foro hermano tuvieron el mismo problema con Delphi 10.1 Berlin Starter. La solucion es usar la version 7.2.1
Responder Con Cita
  #9  
Antiguo 15-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Buenos días. Ante todo muchas gracias por vuestra estimada ayuda. Probé la versión 7.2.1 de ZEOS, package XE8, y esta vez sí que se me instaló bien y sin errores!! No sé si será una versión estable, así que me pongo a probarlo y ya os cuento. Muchísimas gracias por vuestra ayuda, amigos!!!
Roman, el problema que me dio Delphi7 es que no me dejaba instalarlo en Windows 10.

Saludos.
Responder Con Cita
  #10  
Antiguo 15-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.267
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. Ante todo muchas gracias por vuestra estimada ayuda. Probé la versión 7.2.1 de ZEOS, package XE8, y esta vez sí que se me instaló bien y sin errores!! No sé si será una versión estable, así que me pongo a probarlo y ya os cuento. Muchísimas gracias por vuestra ayuda, amigos!!!



Cita:
Empezado por javierin_ Ver Mensaje
el problema que me dio Delphi7 es que no me dejaba instalarlo en Windows 10.
Algo no debiste hacer bien (debe instalarse con permisos de administrador) porque debe funcionar correctamente.
Yo mismo lo tengo instalado en un Windows 10.
__________________
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
  #11  
Antiguo 19-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Gracias, Neftalí. Creo recordar que lo intenté con permisos de administrador, pero no lo recuerdo bien. Aunque la gracia ya está hecha, lo tendré en cuenta y volveré a probar, porque seguro que tengo que retocar alguna de las aplicaciones hechas con Delphi 7 y que he observado que con Delphi 10 no son del todo compatibles (de momento he visto que los informes hechos con quickreport no van bien).

Por cierto, ya he conseguido conectar la BDD MySql.

Seguiré informando.
Responder Con Cita
  #12  
Antiguo 22-09-2016
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Poder: 0
javierin_ Va por buen camino
Buenas a todos. Sigo con mis "problemas". Como os dije antes, ya puedo conectarme a la BDD. Ahora bien, me encuentro con otros problemas. El primero es que antes, con Delphi7, utilizaba los "findkey", "gotokey", "gotonearest"...etc para hacer mis búsquedas, ya que era bastante más rápido que el "locate"; y ahora no lo tengo (supongo que es porque esas instrucciones están asociadas al BDE). Ante esto me surgen dos preguntas:

1.- Existe algo parecido al findkey si trabajo con Delphi2010 y ZeosLib?
2.- En caso negativo, sería recomendable volver a Delphi7 con su BDE? (hasta ahora solo había trabajado con tablas planas DBaseIV, así que si volviera a Delphi7 tendríais que ayudarme un poco).

Muchísimas gracias.

PD: Tenías razón, Neftali. Había que ejecutar la instalación de Delphi7 en Windows10 como Administrador. Y, lo que me ha gustado más, es que pueden convivir las dos versiones perfectamente! (gracias de nuevo).
Responder Con Cita
  #13  
Antiguo 22-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.267
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
Buenas a todos. Sigo con mis "problemas". Como os dije antes, ya puedo conectarme a la BDD. Ahora bien, me encuentro con otros problemas. El primero es que antes, con Delphi7, utilizaba los "findkey", "gotokey", "gotonearest"...etc para hacer mis búsquedas, ya que era bastante más rápido que el "locate"; y ahora no lo tengo (supongo que es porque esas instrucciones están asociadas al BDE). Ante esto me surgen dos preguntas:

1.- Existe algo parecido al findkey si trabajo con Delphi2010 y ZeosLib?
2.- En caso negativo, sería recomendable volver a Delphi7 con su BDE? (hasta ahora solo había trabajado con tablas planas DBaseIV, así que si volviera a Delphi7 tendríais que ayudarme un poco).
El problema es que antes trabajabas con una Base de Datos de escritorio, y ahora trabajas con un Servidor de Bases de Datos.
Son diferentes y la ideología también es diferente.

¿Exactamente, para qué necesitas el "findKey"?
¿Búsquedas incrementales?

Si es así, digamos que es una cosa "no recomendable".
Deberías orientar el programa hacia realizar filtros. Las búsquedas incrementales generan muchas consultas y mucho tráfico de red y eso no es bueno.
__________________
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
  #14  
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
  #15  
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
  #16  
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.267
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
  #17  
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
  #18  
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.038
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
  #19  
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.267
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 01:45:52.


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