Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ADOQuery + Mysql (https://www.clubdelphi.com/foros/showthread.php?t=64242)

dfarias 24-03-2009 11:38:10

ADOQuery + Mysql
 
Aquien sabe como tengo que hacer para obtener un resultado empty=true en una consulta contra una tabla de Mysql.

Hago una simple consulta como esta por ejemplo:

AdoQry.SELECT('SELECT nombre FROM clientes WHERE nombre='Nadie')

y al validar con

if adoqry.empty then.. La query parece no estar asignada.:(

Si la misma select la hago desde el Heidi o Navicat me devuelve 0 filas pero en mi aplicacion nada.

Esto es desde delphi 7 contra mysql 5.1.32 y Myodbc 3.51.

Neftali [Germán.Estévez] 24-03-2009 12:32:31

¿Puedes poner el código exacto que usas para ejecutarla?
Esto no creo que funcione.

Código Delphi [-]
   AdoQry.SELECT('...

Asegurate de que utilizas Open en lugar ExecSQL.

dfarias 24-03-2009 13:13:15

El codigo es bastante extenso y esta separados en varios unit.

El if adoqry.IsEmpty then.. es asi como esta en codigo.(perdon por el error al tipearlo antes).

Y si funciona. Cuando la consulta devuelve algo lo hace correctamete.

Si cambio el motor de base de datos a MSSQL server la consulta si me vuelve Isempty = true.

Evidentemenete es un problema con el MySql. Pero en que parte?

Neftali [Germán.Estévez] 24-03-2009 13:25:12

Cita:

Empezado por dfarias (Mensaje 342493)
El codigo es bastante extenso y esta separados en varios unit.

Me refería a que postearas el código de la llamada. No creo que eso te ocupe tantas units... :o

Si lo que te está fallando es el IsEmpty, siempre puedes hacer un:

Código Delphi [-]
  if (ADOQ.EOF) and (ADOQ.BOF) then

Si ambos son ciertos, es que el Dataset está vacío. De todas formas, no es normal que te esté dando que la "query no está asignada" como comentas antes. De ahí mi petición del código.

dfarias 24-03-2009 14:03:37

Es el mismo caso. No me devuelve EOF o BOF. pareciera que el resultado de la consulta fuera Nulo total. No se es un poco raro.

Neftali [Germán.Estévez] 24-03-2009 14:28:35

Cita:

Empezado por dfarias (Mensaje 342498)
Es el mismo caso. No me devuelve EOF o BOF. pareciera que el resultado de la consulta fuera Nulo total. No se es un poco raro.

¿Pero qué te devuelven esas propiedades? ¿False?

dfarias 24-03-2009 15:14:57

IsEmpty, EoF o Bof me devuelven false.

Neftali [Germán.Estévez] 24-03-2009 15:46:03

:confused: ?¿?¿?¿?¿
¿Y cuando encuentra valores esas propiedades se comportan correctamente?
¿Cuando estás en el primero y el el último (cuando hay algun valor) que valores tienen?

Esto empieza a ser muy raro.
¿Tienes los Updates Instalados? Había un error en Delphi 5 relacionado con ADO y con esto, que se solucionaba con uno de los Updates; No si se afectaba a alguna de las verisones de D7. :confused:

dfarias 25-03-2009 08:49:37

:confused::confused: Ya no se donde mas buscar, creo que habre consultado unas 500 paginas en google y nada. Las consultas funcionan perfectamente si devuelven al menos 1 registros y todas las propiedades tambien lo hacen.

El delphi 7 esta acutalizado, xp todo, todo... Estoy desesperado:eek:

roman 25-03-2009 11:37:57

Pues es muy raro. Acabo de probar con D7 y MyODBC (tanto el 3.51 como el 5.1) y funciona correctamente. La única diferencia que veo es la versión de MySQL, yo uso la 5.0x.

// Saludos


La franja horaria es GMT +2. Ahora son las 20:14:47.

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