FOXYDB - Sintaxis consultas select

59 views
Skip to first unread message

diegod...@gmail.com

unread,
Oct 21, 2016, 8:34:28 AM10/21/16
to publice...@googlegroups.com, diegod...@gmail.com

 

Hola a todos

                               Estoy tratando de migrar a MariaDB con FoxyDB y no puedo dar con la sintaxis correcta para siguiente cláusula WHERE

 

·         En VFP:    (sin problemas)

 

                   SELECT actividad_general.* ;

FROM actividad_general ;

WHERE eliminado = .F. ;

                   AND (estado = .t. OR NOMBRE = _ousuario) ;

                   AND equipo = _oequipo ;

                   INTO CURSOR cursor_actividad READWRITE

 

 

·         Para MariaDB:   (error de sintaxis en cláusula WHERE)

               

            TEXT TO _cursor1 TEXTMERGE NOSHOW PRETEXT 15

                   SELECT actividad_general.datetime as fechahora,

                   nombre, equipo, estado, id_ABM_empresas,

                   id_ABM_regiones, id_ABM_usuarios, id_ABM_ultimo_usuario,

                   eliminado, ID

                   from actividad_general 

                   WHERE eliminado = 0

                   AND (estado = .t. OR nombre = '<<_ousuario >>')

                   AND equipo = '<<_oequipo >>'                   

            ENDTEXT

                               oDb.Query(_cursor1, “cursor_actividad”)

 

¿Alguien me podría indicar la sintaxis correcta para éste tipo de condición?

 

Gracias!

Diego

Irwin Rodriguez

unread,
Oct 21, 2016, 8:54:44 AM10/21/16
to publice...@googlegroups.com
Buen Dia,

Cambia estado = .t. por
estado = 1


Saludos...!
--
DISTRIBUIDORA IRSESU, C.A
J-29947174-7
Irwin Rodríguez
- Director
Analista Programador - Freelance
+584125210679

Barquisimeto - Venezuela
Desarrollos online dentro y fuera del país

diegod...@gmail.com

unread,
Oct 21, 2016, 9:19:55 AM10/21/16
to publice...@googlegroups.com, diegod...@gmail.com

En efecto, Irwin, está mal copiado en el mail. En el código lo tengo correcto:

 

Estado = 1

 

….pero arroja error de sintaxis. Es como si fuera por los paréntesis, o algo asi. Pero no encuentro info respecto a eso en Google.

 

Saludos!

Irwin Rodriguez

unread,
Oct 21, 2016, 9:29:32 AM10/21/16
to publice...@googlegroups.com
No sé si te guste almacenar de forma diferente, yo por lo general no suelo usar TEXT TO sino lo siguiente:

_cursor1 = "SELECT"
_cursor1 = _cursor1 + " actividad_general.datetime as fechahora"
_cursor1 = _cursor1 + ",nombre"

_cursor1 = _cursor1 + ",equipo"

_cursor1 = _cursor1 + ",estado"

_cursor1 = _cursor1 + ",id_ABM_empresas"

_cursor1 = _cursor1 + ",id_ABM_regiones"

_cursor1 = _cursor1 + ",id_ABM_usuarios"

_cursor1 = _cursor1 + ",id_ABM_ultimo_usuario"

_cursor1 = _cursor1 + ",eliminado"

_cursor1 = _cursor1 + ",ID"

_cursor1 = _cursor1 + " from"

_cursor1 = _cursor1 + " actividad_general"

_cursor1 = _cursor1 + " WHERE"

_cursor1 = _cursor1 + " eliminado = 0"

_cursor1 = _cursor1 + " AND"

_cursor1 = _cursor1 + " ("

_cursor1 = _cursor1 + " estado = 1"

_cursor1 = _cursor1 + " OR"

_cursor1 = _cursor1 + " nombre = '" + _ousuario + "'"
_cursor1 = _cursor1 + ")"

_cursor1 = _cursor1 + " AND"

_cursor1 = _cursor1 + " equipo = '" + _oequipo + "'"

* _ClipText = _cursor1

* MessageBox(_cursor1) && Para ver la consulta

oDb.Query(_cursor1, "cursor_actividad")


Puedes hacerlo así si quieres, se ve mucho mejor la consulta y puedes verla incluso antes de ejecutarla solo con colocar un MessageBox antes del Execute. Si puedes haz este ejemplo y pegas el contenido de tu _cliptext aquí para ver como se esta eviando la consulta.


Saludos...!


diegod...@gmail.com

unread,
Oct 21, 2016, 9:32:15 AM10/21/16
to publice...@googlegroups.com

Gracias por la sugerencia, Irwin

 

                                La realidad es que estoy abierto a todo. Lo voy a probar.

 

Saludos!

 

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Irwin Rodriguez
Enviado el: viernes, 21 de octubre de 2016 10:29 a. m.
Para: publice...@googlegroups.com
Asunto: Re: [vfp] FOXYDB - Sintaxis consultas select

 

No sé si te guste almacenar de forma diferente, yo por lo general no suelo usar TEXT TO sino lo siguiente:

Antonio Meza

unread,
Oct 21, 2016, 9:45:24 AM10/21/16
to Comunidad de Visual Foxpro en Español
Hola!!

Cuando tengo problemas de sintaxis en las sentencias SQL, lo que hago es ir directamente a HeidiSql y escribirla desde ahí para que sea mas fácil ver donde esta el problema.

Te recomiendo sigas usando Text / EndText, en la forma que lo hace Irwin es mas difícil de depurar y espero no se enoje!!! jejeje

Otro detalle importante es que antes de mandar la sentencia Sql al servidor veas como quedo la variable en este caso _cursor1 para ver si tiene el resultado que esperas, porque posiblemente alguna variable no va bien, y es mejor que nos muestres como quedo y no como la estas armando, es decir te podemos ayudar mas con ver el resultado de _cursor1  que con ver el armado de Text /Endtext.

saludos
Antonio Meza 

diegod...@gmail.com

unread,
Oct 21, 2016, 9:47:55 AM10/21/16
to publice...@googlegroups.com

Súper claro, Antonio

 

                Gracias a los dos!

Reply all
Reply to author
Forward
0 new messages