Club Delphi  
    Paypal   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
  #8  
Antiguo 26-05-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
A reserva de que como casi siempre me caigan a palos por regañón (y otras cosas...):

En primer lugar si prestamos atención (un poquito) al mensaje de la excepción
Cita:
SQL error: You have an error in your sql syntax; check the manual that corresponds to your MySql server version for de right syntax to use near 'LIKE 'usuarios'' at line 1'
Vemos que la excepción NO es generada por Zeos sino por el motor de bd (MySQL en este caso), Zeos lo único que hace es mostrar el error que el motor le devolvió.

Segundo:
El mensaje:
Cita:
"Source File not found: ZDbcMySqlUtils.pas"
Es debido a que el consultante está depurando dentro del IDE por lo que éste trata de encontrar la instrucción que generó el error, pero dado que no se indicó un PATH para el código fuente de Zeos entonces no hay forma de mostrarlo. Recordemos que no es necesario contar con los fuentes para hacer que un paquete funcione. Si fuera un problema de Zeos, simplemente nuestro amigo no hubiera podido instalar los componentes.

Tercero:
Regresando a la excepción arrojada por el programa notamos que el motor se está quejando de una consulta que incluye un "LIKE":
Cita:
'LIKE 'usuarios''
La consulta de que sospecha nuestro amigo no contiene ningun LIKE, ergo, la consulta que provoca el error se encuentra en algún otro lado de su proyecto.

Solución:

Hay que buscar en todos los TZQuery para encontrar cual contiene la instrucción citada, posteriormente hay que verificar que no se haya dejado por error (casi a nadie le pasa [sarcasmo incluído]) con la propiedad "Active=TRUE" en tiempo de diseño ya que en esos casos Delphi abre la consulta de manera automática aunque no hagamos un "Open".

Finalmente, parece que en el query al que nuestro amigo hace un Open, tienen algunas instrucciones en su evento BeforeOpen o bien AfterOpen que abren otra consulta que es la que provoca el error. Por lo que pareciera que el error sucede al hacer "Open" en el query citado.



Finalmente, una aclaración respecto a ExeclSQL y Open:

ExecSQL por definició no devolverá datos ya que está diseñada para ejecutar consultas que no lo hacen como INSERT, DELETE o UPDATE sin que esto quiera decir que no podamos ejecutar un SELECT, salvo que los datos devueltos no son tomados en cuenta pues como ya mencioné, ExecSQL no espera que le devuelvan nada.
Open, por su parte SI es la que se debe utilizar para ejecutar un SELECT.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
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
Zeos vs DAC??? damser Conexión con bases de datos 1 31-10-2011 17:35:04
Zeos + Ado kalisto Tablas planas 9 09-08-2010 19:29:11
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
consulta sobre zeos pipecato Varios 3 05-05-2006 01:35:53
zeos agora18 MySQL 0 10-02-2004 22:57:47


La franja horaria es GMT +2. Ahora son las 16:57:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi