![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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:
Segundo: El mensaje: Cita:
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:
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|| |
|
#2
|
|||
|
|||
|
Estimado amigo AzidRain: Gracias por la explicación detallada, pero lamento informarte que toda la descripción no me solucionó el problema.
En lugar de revisar query por query, mirando si estaba la propiedad Active = true desde diseño, o si había alguna sentencia sql que se ejecute en algún lugar extraño, o si había algo en la propiedad BeforeOpen o AfterOpen, hice algo mas sencillo y menos laborioso, que fue crear un proyecto nuevo, una base de datos nueva con una sola tablita, agregué y configuré las componentes de Zeos como siempre y tomando las precauciones que me marcaste, use un ZQuery para insertar un registro (no hubo problema) y un ZReadOnlyQuery para hacer un select. Luego de ejecutar la consulta, le pongo active = true y no hubo dramas, pero al hacer un Open murió, otra vez el mismo error: 'LIKE 'nombredelatabla''. Pongo "nombredelatabla" porque ocurre con cualquier tabla que tenga, y con cualquier consulta. Le ponga apostrofe invertido, comillas simples, dobles o nada. Así que no se, estoy a punto de rendirme, je. O dejar Zeos .Si quieren seguir colaborando será bienvenido. Saludos. |
|
#3
|
|||
|
|||
|
Y un día dios me ilumino, y gracias al MySql Command Line Client descubrí el error. Simplemente había que especificar en la consulta, el nombre de la base de datos!
, de la siguiente manera:
Gracias a todos igual, ya estaba colgando los botines, je. Abrazo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|