Hola a todos,
Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
El error consiste en que cuando tengo una sentencia Select del tipo
SELECT * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10
elementos de la Select, cuando pongo un filtro con lFilterBar:= .T.,
también me lo hace correcto, pero cuando intento ordenar con
lAutoOrder:= .T. por una columna concreta en vez de salirme los 10
primeros me trae todos los registros de la tabla, no haciendo caso desde
ese momento a la cláusula LIMIT.
También he probado con :nMaxRecords := 10 pero tampoco hace funciona
¿Estoy haciendo algo mal?
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Tdbrose y clase mysql
-
- Mensajes: 87
- Registrado: Sab Mar 15, 2008 10:29 pm
Tdbrose y clase mysql
Juan Jose,
> Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
>
> El error consiste en que cuando tengo una sentencia Select del tipo SELECT
> * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10 elementos de la
> Select, cuando pongo un filtro con lFilterBar:= .T., también me lo hace
> correcto, pero cuando intento ordenar con lAutoOrder:= .T. por una columna
> concreta en vez de salirme los 10 primeros me trae todos los registros de
> la tabla, no haciendo caso desde ese momento a la cláusula LIMIT.
Bueno, realmente el dataset no está pensado para soportar la claúsula LIMIT.
Lo normal es que la cláusula WHERE sea lo suficientemente restrictiva como
para no traerse demasiados registros, y el dataset ya se encargará de
gestionarlos. Pero si vas a hacer uso de la cláusula LIMIT, entonces lo
mejor es que te traigas los registros tú mismo con el método QueryArray()
del datasource.
> También he probado con :nMaxRecords := 10 pero tampoco hace funciona
Actualmente esta propiedad sólo funciona con ADO. No obstante, lo
revisaremos por si podemos hacerla funcionar con otros datasources.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
> Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
>
> El error consiste en que cuando tengo una sentencia Select del tipo SELECT
> * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10 elementos de la
> Select, cuando pongo un filtro con lFilterBar:= .T., también me lo hace
> correcto, pero cuando intento ordenar con lAutoOrder:= .T. por una columna
> concreta en vez de salirme los 10 primeros me trae todos los registros de
> la tabla, no haciendo caso desde ese momento a la cláusula LIMIT.
Bueno, realmente el dataset no está pensado para soportar la claúsula LIMIT.
Lo normal es que la cláusula WHERE sea lo suficientemente restrictiva como
para no traerse demasiados registros, y el dataset ya se encargará de
gestionarlos. Pero si vas a hacer uso de la cláusula LIMIT, entonces lo
mejor es que te traigas los registros tú mismo con el método QueryArray()
del datasource.
> También he probado con :nMaxRecords := 10 pero tampoco hace funciona
Actualmente esta propiedad sólo funciona con ADO. No obstante, lo
revisaremos por si podemos hacerla funcionar con otros datasources.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
-
- Mensajes: 87
- Registrado: Sab Mar 15, 2008 10:29 pm
Tdbrose y clase mysql
Después de ver parte del código de la clase XMySQLRecords, veo que
existe el método METHOD Sort( cExp ) y en el está contenida la orden
::Refresh que llama a la función EXTERN XMySQLRecords_QueryAll() de la
cual no dispongo el código.
¿Se podría llamar al método QueryAll() y modificar el código para el
tema de los límites? Veo que puede ser facil la implantación.
Para mí es importante tener esa opción pues en el caso de los browse
vengo manejando una variable que definen el número de registro a traer
por el usuario, en caso de que estén en una oficina remota, traen menos
y utilizan los filtros.
Saludos
Jose F. Gimenez escribió:
> Juan Jose,
>
>> Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
>>
>> El error consiste en que cuando tengo una sentencia Select del tipo SELECT
>> * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10 elementos de la
>> Select, cuando pongo un filtro con lFilterBar:= .T., también me lo hace
>> correcto, pero cuando intento ordenar con lAutoOrder:= .T. por una columna
>> concreta en vez de salirme los 10 primeros me trae todos los registros de
>> la tabla, no haciendo caso desde ese momento a la cláusula LIMIT.
>
> Bueno, realmente el dataset no está pensado para soportar la claúsula LIMIT.
> Lo normal es que la cláusula WHERE sea lo suficientemente restrictiva como
> para no traerse demasiados registros, y el dataset ya se encargará de
> gestionarlos. Pero si vas a hacer uso de la cláusula LIMIT, entonces lo
> mejor es que te traigas los registros tú mismo con el método QueryArray()
> del datasource.
>
>
>> También he probado con :nMaxRecords := 10 pero tampoco hace funciona
>
> Actualmente esta propiedad sólo funciona con ADO. No obstante, lo
> revisaremos por si podemos hacerla funcionar con otros datasources.
>
existe el método METHOD Sort( cExp ) y en el está contenida la orden
::Refresh que llama a la función EXTERN XMySQLRecords_QueryAll() de la
cual no dispongo el código.
¿Se podría llamar al método QueryAll() y modificar el código para el
tema de los límites? Veo que puede ser facil la implantación.
Para mí es importante tener esa opción pues en el caso de los browse
vengo manejando una variable que definen el número de registro a traer
por el usuario, en caso de que estén en una oficina remota, traen menos
y utilizan los filtros.
Saludos
Jose F. Gimenez escribió:
> Juan Jose,
>
>> Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
>>
>> El error consiste en que cuando tengo una sentencia Select del tipo SELECT
>> * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10 elementos de la
>> Select, cuando pongo un filtro con lFilterBar:= .T., también me lo hace
>> correcto, pero cuando intento ordenar con lAutoOrder:= .T. por una columna
>> concreta en vez de salirme los 10 primeros me trae todos los registros de
>> la tabla, no haciendo caso desde ese momento a la cláusula LIMIT.
>
> Bueno, realmente el dataset no está pensado para soportar la claúsula LIMIT.
> Lo normal es que la cláusula WHERE sea lo suficientemente restrictiva como
> para no traerse demasiados registros, y el dataset ya se encargará de
> gestionarlos. Pero si vas a hacer uso de la cláusula LIMIT, entonces lo
> mejor es que te traigas los registros tú mismo con el método QueryArray()
> del datasource.
>
>
>> También he probado con :nMaxRecords := 10 pero tampoco hace funciona
>
> Actualmente esta propiedad sólo funciona con ADO. No obstante, lo
> revisaremos por si podemos hacerla funcionar con otros datasources.
>
- ignacio
- Site Admin
- Mensajes: 9458
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Tdbrose y clase mysql
Juan José,
Utilice la propiedad TDataset:nMaxRecords.
Saludos,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan Jose Zamora San Martin" <juanjosezamoras@gmail.com> escribió en el
mensaje news:469605ae$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Después de ver parte del código de la clase XMySQLRecords, veo que existe
> el método METHOD Sort( cExp ) y en el está contenida la orden ::Refresh
> que llama a la función EXTERN XMySQLRecords_QueryAll() de la cual no
> dispongo el código.
>
> ¿Se podría llamar al método QueryAll() y modificar el código para el tema
> de los límites? Veo que puede ser facil la implantación.
>
> Para mí es importante tener esa opción pues en el caso de los browse
> vengo manejando una variable que definen el número de registro a traer por
> el usuario, en caso de que estén en una oficina remota, traen menos y
> utilizan los filtros.
>
> Saludos
>
>
>
> Jose F. Gimenez escribió:
>> Juan Jose,
>>
>>> Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
>>>
>>> El error consiste en que cuando tengo una sentencia Select del tipo
>>> SELECT * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10
>>> elementos de la Select, cuando pongo un filtro con lFilterBar:= .T.,
>>> también me lo hace correcto, pero cuando intento ordenar con
>>> lAutoOrder:= .T. por una columna concreta en vez de salirme los 10
>>> primeros me trae todos los registros de la tabla, no haciendo caso desde
>>> ese momento a la cláusula LIMIT.
>>
>> Bueno, realmente el dataset no está pensado para soportar la claúsula
>> LIMIT. Lo normal es que la cláusula WHERE sea lo suficientemente
>> restrictiva como para no traerse demasiados registros, y el dataset ya se
>> encargará de gestionarlos. Pero si vas a hacer uso de la cláusula LIMIT,
>> entonces lo mejor es que te traigas los registros tú mismo con el método
>> QueryArray() del datasource.
>>
>>
>>> También he probado con :nMaxRecords := 10 pero tampoco hace funciona
>>
>> Actualmente esta propiedad sólo funciona con ADO. No obstante, lo
>> revisaremos por si podemos hacerla funcionar con otros datasources.
>>
Utilice la propiedad TDataset:nMaxRecords.
Saludos,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan Jose Zamora San Martin" <juanjosezamoras@gmail.com> escribió en el
mensaje news:469605ae$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Después de ver parte del código de la clase XMySQLRecords, veo que existe
> el método METHOD Sort( cExp ) y en el está contenida la orden ::Refresh
> que llama a la función EXTERN XMySQLRecords_QueryAll() de la cual no
> dispongo el código.
>
> ¿Se podría llamar al método QueryAll() y modificar el código para el tema
> de los límites? Veo que puede ser facil la implantación.
>
> Para mí es importante tener esa opción pues en el caso de los browse
> vengo manejando una variable que definen el número de registro a traer por
> el usuario, en caso de que estén en una oficina remota, traen menos y
> utilizan los filtros.
>
> Saludos
>
>
>
> Jose F. Gimenez escribió:
>> Juan Jose,
>>
>>> Tengo un problema con la clase TDBBrowse y las nuevas clases de mysql.
>>>
>>> El error consiste en que cuando tengo una sentencia Select del tipo
>>> SELECT * FROM CLIENTES LIMIT 10, la primera vez me muestra los 10
>>> elementos de la Select, cuando pongo un filtro con lFilterBar:= .T.,
>>> también me lo hace correcto, pero cuando intento ordenar con
>>> lAutoOrder:= .T. por una columna concreta en vez de salirme los 10
>>> primeros me trae todos los registros de la tabla, no haciendo caso desde
>>> ese momento a la cláusula LIMIT.
>>
>> Bueno, realmente el dataset no está pensado para soportar la claúsula
>> LIMIT. Lo normal es que la cláusula WHERE sea lo suficientemente
>> restrictiva como para no traerse demasiados registros, y el dataset ya se
>> encargará de gestionarlos. Pero si vas a hacer uso de la cláusula LIMIT,
>> entonces lo mejor es que te traigas los registros tú mismo con el método
>> QueryArray() del datasource.
>>
>>
>>> También he probado con :nMaxRecords := 10 pero tampoco hace funciona
>>
>> Actualmente esta propiedad sólo funciona con ADO. No obstante, lo
>> revisaremos por si podemos hacerla funcionar con otros datasources.
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 87
- Registrado: Sab Mar 15, 2008 10:29 pm
Tdbrose y clase mysql
Ignacio he utilizado esta propiedad y no hace nada. Según Jose F.
Gimenez esta propiedad sólo fiunciona con ADo
Saludos.
Ignacio Ortiz de Zúñiga escribió:
> Juan José,
>
> Utilice la propiedad TDataset:nMaxRecords.
>
> Saludos,
>
Gimenez esta propiedad sólo fiunciona con ADo
Saludos.
Ignacio Ortiz de Zúñiga escribió:
> Juan José,
>
> Utilice la propiedad TDataset:nMaxRecords.
>
> Saludos,
>
- ignacio
- Site Admin
- Mensajes: 9458
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Tdbrose y clase mysql
Juan José,
Efectivamente no está implementada en TMySQL y TSQLite. Intentaremos
incluirlo lo antes posible.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan Jose Zamora San Martin" <juanjosezamoras@gmail.com> escribió en el
mensaje news:46961966$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ignacio he utilizado esta propiedad y no hace nada. Según Jose F. Gimenez
> esta propiedad sólo fiunciona con ADo
>
> Saludos.
>
> Ignacio Ortiz de Zúñiga escribió:
>> Juan José,
>>
>> Utilice la propiedad TDataset:nMaxRecords.
>>
>> Saludos,
>>
Efectivamente no está implementada en TMySQL y TSQLite. Intentaremos
incluirlo lo antes posible.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan Jose Zamora San Martin" <juanjosezamoras@gmail.com> escribió en el
mensaje news:46961966$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ignacio he utilizado esta propiedad y no hace nada. Según Jose F. Gimenez
> esta propiedad sólo fiunciona con ADo
>
> Saludos.
>
> Ignacio Ortiz de Zúñiga escribió:
>> Juan José,
>>
>> Utilice la propiedad TDataset:nMaxRecords.
>>
>> Saludos,
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com